簡體   English   中英

Cocoa Pods在調試模式下運行時無法鏈接庫?

[英]Cocoa Pods failed to link libraries while running in the debug mode?

我使用pods來鏈接像AfNetworkingfacebook等庫,並且它在release模式下工作得很好但是我想通過調試檢查Variables值,但是它在發布模式下顯示所有變量nil。 我試圖通過編輯模式在debug模式下運行,但它無法編譯顯示各種庫未找到錯誤。

編輯我已經嘗試更新架構.....但這沒有幫助。 調試模式下的錯誤日志

ld: warning: directory not found for option '-L/Users/madept/Desktop/personally/Pods/build/Debug-iphoneos'
ld: warning: ignoring file /Users/madept/Desktop/personally/libCloudinary.a, missing required architecture x86_64 in file /Users/madept/Desktop/personally/libCloudinary.a (3 slices)
Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_AFHTTPRequestOperation", referenced from:
      objc-class-ref in ZRAPIClient.o
  "_OBJC_CLASS_$_AFHTTPRequestSerializer", referenced from:
      objc-class-ref in ZRAPIClient.o
  "_OBJC_CLASS_$_AFJSONResponseSerializer", referenced from:
      objc-class-ref in ZRAPIClient.o
  "_OBJC_CLASS_$_BITHockeyManager", referenced from:
      objc-class-ref in ZRAppDelegate.o
  "_OBJC_CLASS_$_CLCloudinary", referenced from:
      objc-class-ref in ZRMediaManager.o
  "_OBJC_CLASS_$_CLTransformation", referenced from:
      objc-class-ref in ZRMediaManager.o
  "_OBJC_CLASS_$_DDFileLogger", referenced from:
      objc-class-ref in Zooplr.o
  "_OBJC_CLASS_$_DDLog", referenced from:
      objc-class-ref in Chat.o
      objc-class-ref in ZRManagedObject.o
      objc-class-ref in ZRTelescopingScrollView.o
      objc-class-ref in ZRAddMessageBarController.o
      objc-class-ref in ZRCreateAccountViewController.o
      objc-class-ref in ZRAddressBookHelper.o
      objc-class-ref in Zooplr.o
      ...
  "_OBJC_CLASS_$_DDTTYLogger", referenced from:
      objc-class-ref in Zooplr.o
  "_OBJC_CLASS_$_ELCAlbumPickerController", referenced from:
      objc-class-ref in ZRMediaCaptureController.o
  "_OBJC_CLASS_$_ELCImagePickerController", referenced from:
      objc-class-ref in ZRMediaCaptureController.o
  "_OBJC_CLASS_$_EZAudioPlotGL", referenced from:
      objc-class-ref in ZRMediaCaptureController.o
  "_OBJC_CLASS_$_EZMicrophone", referenced from:
      objc-class-ref in ZRMediaCaptureController.o
  "_OBJC_CLASS_$_EZRecorder", referenced from:
      objc-class-ref in ZRMediaCaptureController.o
  "_OBJC_CLASS_$_FBAppCall", referenced from:
      objc-class-ref in ZRAppDelegate.o
  "_OBJC_CLASS_$_FBErrorUtility", referenced from:
      objc-class-ref in ZRSocialClient.o
  "_OBJC_CLASS_$_FBRequest", referenced from:
      objc-class-ref in ZRSocialClient.o
  "_OBJC_CLASS_$_FBRequestConnection", referenced from:
      objc-class-ref in ZRSocialClient.o
  "_OBJC_CLASS_$_FBSession", referenced from:
      objc-class-ref in ZRAppDelegate.o
      objc-class-ref in ZRSocialClient.o
  "_OBJC_CLASS_$_Mixpanel", referenced from:
      objc-class-ref in ZRAnalyticsTracker.o
      objc-class-ref in Zooplr.o
  "_OBJC_CLASS_$_Reachability", referenced from:
      objc-class-ref in Zooplr.o
  "_OBJC_CLASS_$_SSKeychain", referenced from:
      objc-class-ref in ZRAuthManager.o
  "_OBJC_CLASS_$_SVProgressHUD", referenced from:
      objc-class-ref in ZRAccountEditViewController.o
      objc-class-ref in ZRAppDelegate.o
  "_OBJC_CLASS_$_SocketIO", referenced from:
      objc-class-ref in ZRChatSocketClient.o
  "_OBJC_CLASS_$_TTTAttributedLabel", referenced from:
      objc-class-ref in ZRBubbleViewTextMessage.o
  "_kReachabilityChangedNotification", referenced from:
      -[ZRAppDelegate application:didFinishLaunchingWithOptions:] in ZRAppDelegate.o
      -[ZRChatSocketClient init] in ZRChatSocketClient.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

任何幫助或建議將不勝感激。

如果上述答案對您不起作用,可能問題來自您安裝pod時的問題。 運行pod install時,請檢查是否有此類消息

ProjectName [Release]目標覆蓋`Pods / Target Support Files / ProjectName / Pods-ProjectName.release.xcconfig'中定義的OTHER_LDFLAGS構建設置。 這可能導致CocoaPods安裝出現問題

或類似的消息,但使用debug而不是release(或兩者)。 如果是這樣,在Xcode中刪除工作區中的pod項目,然后按照這個問題的答案目標...覆蓋`Pods / Pods.xcconfig中定義的`OTHER_LDFLAGS`構建設置 ,我在這里通過它:

這絕對適用於大部分時間:

轉到目標構建設置 - >其他鏈接器標志 - >雙擊。 將$(繼承)添加到新行。

然后再次運行pod install 它為我做了。

這意味着您使用的靜態庫不支持x86_64體系結構,
所以

  1. 打開“Pods”目標的“Build Settings”,並添加“x86_64”體系結構(在“Architectures”和“Valid Architectures”部分中)。
  2. 將“僅構建活動體系結構”設置為“否”。
  3. 清理“豆莢”目標。
  4. 建立你的目標。

刪除/ Users / YourName / Library / Developer / Xcode / DerivedData / YourProject / Build / Products / Debug-iphoneos中的.a文件。 然后清潔和建立。這幫助我。

對我有用的是將$(繼承)添加到:

  • OTHER_LDFLAGS
  • OTHER_CFLAGS
  • FRAMEWORK_SEARCH_PATHS
  • GCC_PREPROCESSOR_DEFINITIONS

提示:內部構建設置 - >(搜索欄) - >上面的類型選項並添加$(繼承)

我刪除了.a文件,它對我不起作用,但當我刪除/ Users / YourName / Library / Developer / Xcode / DerivedData / YourProject中的項目文件夾時。 這對我有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM