簡體   English   中英

CocoaPods Swift鏈接器錯誤

[英]CocoaPods Swift Linker Error

我試圖通過Lumberjack在以Swift編寫的iOS應用程序中使用Loggly庫。 我收到以下鏈接器錯誤:

undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_LogglyFormatter", referenced from:
  __TMaCSo15LogglyFormatter in AppDelegate.o
"_OBJC_CLASS_$_LogglyLogger", referenced from:
  __TMaCSo12LogglyLogger in AppDelegate.o
ld: symbol(s) not found for architecture x86_64

我使用橋接頭為其他一些可以正常工作的庫(而不是pod的庫)使用。

這是我的橋接標頭的內容:

#import <AFNetworking/AFNetworking.h>
#import <CocoaLumberjack/DDLog.h>
#import <LogglyLogger-CocoaLumberjack/LogglyLogger.h>
#import <LogglyLogger-CocoaLumberjack/LogglyFormatter.h>

最后是我的Podfile的內容:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'
pod 'CocoaLumberjack'
pod 'AFNetworking'
pod 'LogglyLogger-CocoaLumberjack', :git => 'https://github.com/melke/LogglyLogger-CocoaLumberjack'

有人對此有建議嗎?

從Cocoapods 0.25.0開始,Xcode配置保持Pods的構建設置為ONLY_ACTIVE_ARCH設置為YES。 您有兩種選擇:

  1. 確保將Debug配置的“ Build Active Architecture”設置為“ YES”
  2. 在調試配置中將cocoapods的Build Active Architecture設置為NO。

因此,假設您已執行選項1,請導航至構建設置,然后您應該得到如下所示的內容:

在此處輸入圖片說明

包含在官方《 故障排除指南》中

這適用於從Xcode 4遷移項目或仍在使用Xcode 4的用戶。

  1. Pods Xcode項目現在在Debug配置中將ONLY_ACTIVE_ARCH構建設置設置為YES。 您將必須在項目/目標上設置相同的設置,否則構建將失敗。

  2. 確保您的項目/目標設置了ARCHS值,否則構建將失敗。

  3. 使用Xcode 4隨附的xcodebuild工具從命令行構建iOS項目時,您需要通過附加到構建命令ONLY_ACTIVE_ARCH = NO來完全禁用此設置。

暫無
暫無

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

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