it-swarm.com.de

Xcode 8: Symbol (e) für Architekturarm64 für Pods nicht gefunden

Nach dem Update auf Xcode 8 wird die App nicht auf Geräten ausgeführt, sondern nur auf dem Simulator. Die Fehler werden für alle dem Projekt hinzugefügten Pods ausgegeben:

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_AFNetworkReachabilityManager", referenced from:
      objc-class-ref in FeedViewController.o
  "_OBJC_CLASS_$_TSMessage", referenced from:
      l_OBJC_$_CATEGORY_TSMessage_$_Override in NotificationMessenger.o
      objc-class-ref in NotificationMessenger.o
  "_OBJC_CLASS_$_AFHTTPRequestSerializer", referenced from:
      objc-class-ref in HTTPSessionTask.o
  "_OBJC_CLASS_$_AFJSONRequestSerializer", referenced from:
      objc-class-ref in HTTPSessionTask.o
  "_OBJC_METACLASS_$_SWTableViewCell", referenced from:
      _OBJC_METACLASS_$_MessagesCell in MessagesCell.o
      _OBJC_METACLASS_$_PaymentMethodCell in PaymentMethodCell.o
      _OBJC_METACLASS_$_SwipeTitleCell in SwipeTitleCell.o
  "_OBJC_CLASS_$_FBRequestConnection", referenced from:
      objc-class-ref in FacebookManager.o
  "_OBJC_CLASS_$_SWTableViewCell", referenced from:
      _OBJC_CLASS_$_MessagesCell in MessagesCell.o
      _OBJC_CLASS_$_PaymentMethodCell in PaymentMethodCell.o
      _OBJC_CLASS_$_SwipeTitleCell in SwipeTitleCell.o
  "_OBJC_CLASS_$_FBRequest", referenced from:
      objc-class-ref in FacebookManager.o
  "_OBJC_CLASS_$_AFURLSessionManager", referenced from:
      objc-class-ref in HTTPSessionTask.o
  "_OBJC_CLASS_$_Branch", referenced from:
      objc-class-ref in MyImpactViewController.o
      objc-class-ref in UINavigationController+Activity.o
      objc-class-ref in AppDelegate.o
  "_OBJC_CLASS_$_FBSession", referenced from:
      objc-class-ref in FacebookManager.o
      objc-class-ref in ExternalFacebookCommand.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Für jede der Dateien wird auch diese Warnung ausgegeben:

file was built for archive which is not the architecture being linked (arm64)

Aktive Architekturen sind in Ordnung. Ich habe versucht, abgeleitete Datenordner zu löschen, die Pods neu zu installieren und für Active Architectures Only "Ja" und "Nein" festzulegen.

Meine Poddatei sieht so aus:

platform :ios, '8.0'
workspace 'Purple'
target 'Purple' do
pod 'AFNetworking', '2.6.3'
pod 'SAMKeychain', '~> 1.3'
pod 'TSMessages'
pod 'Facebook-iOS-SDK', '~> 3.23.2'
pod 'SWTableViewCell'
pod 'CardIO'
pod 'Parse'
pod 'PureLayout'
pod 'Branch'
pod 'DZNEmptyDataSet'
end
5
damjandd

Versuchen Sie, die XCode-Caches zu löschen:

rm -rf ~/Library/Developer/Xcode/DerivedData/

Löschen Sie die CocoaPods-Caches und installieren Sie die Abhängigkeiten erneut:

rm -rf "${HOME}/Library/Caches/CocoaPods"
rm -rf "`pwd`/Pods/"
pod update

Gehen Sie schließlich zum Projekt "Pods" und setzen Sie die Option Nur aktive Architekturen auf Nein setzen auch für die Konfiguration "Debug".

Reference https://stackoverflow.com/a/37930840/1773009

8
Marku

Msgstr "Das OPN [Debug] Ziel überschreibt die Buildeinstellung OTHER_LDFLAGS. Das war das Hauptproblem. Nach dem Hinzufügen von $ (geerbt) in einer neuen Zeile in anderen Linker-Flags wurde mein Problem behoben.

 enter image description here

0
Mohsen mokhtari

Bitte verwenden Sie den Pod-Code.

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, ‘9.0’
use_frameworks!

target “NoteCheck” do

    pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :tag => ‘4.0.1’
    pod 'AlamofireNetworkActivityIndicator',    '~> 2.0'
    pod 'AlamofireObjectMapper',        '~> 4.0.0'
    pod 'UIActivityIndicator-for-SDWebImage',   '~> 1.2'
    pod 'SVProgressHUD'         ,:git => 'https://github.com/SVProgressHUD/SVProgressHUD.git'
    pod 'Reachability',             '~> 3.2'
    pod 'SwiftyJSON',               '~> 3.0.0'
    pod 'ObjectMapper' ,            '~> 2.0'
    pod 'SDWebImage',               '~> 3.8'

    pod 'SZTextView',               '~> 1.2'
    pod 'TPKeyboardAvoiding',           '~> 1.3'
    pod 'FXBlurView' ,              '~> 1.6.4'
    pod 'AMSmoothAlert',            '~> 1.0'

    pod 'DGElasticPullToRefresh',       '~> 1.1'
end

// Einige der cocoapod-Bibliotheken unterstützen ein Minimum an IO9.0-Unterstützung. Versuchen Sie also, das minimale Implementierungsziel auf 9.0 zu setzen, und überprüfen Sie alle von Cocoapod Swift3.0 unterstützten Bibliotheken. Aktualisieren Sie die Pod-Datei nach dem Bearbeiten der Pod-Datei.

0
Mehul