我正在使用Cocoapods進行依賴管理,同時編寫Swift 2.0應用程序,並且一些依賴項要求我使用'use_frameworks!'。用於Swift的鏈接器命令Cocoapods發佈方案失敗
我定義了我的依賴關係並運行pod安裝,到目前爲止所有內容都編譯和構建得很好。這是pod文件。
platform :ios, '9.0'
use_frameworks!
target 'MyTarget' do
pod 'Google/Analytics', '~> 1.0'
pod 'KeychainSwift', '~> 3.0'
pod 'SwiftDate', '~> 1.2'
end
target 'MyTargetTests' do
end
當我爲我的目標創建一個新的Scheme時,問題就到了。我只有一個目標,但是我想基於如果爲「調試」或「發佈」構建一個基於API url的配置文件。
因此,我創建了一個新的方案,從我的默認方案中複製它,並且只將生成配置從調試更改爲發佈。
現在,當我建立我得到這個錯誤:
ld: library not found for -lPods-MyTarget
clang: error: linker command failed with exit code 1 (use -v to see invocation)
如果我去我的項目中框架文件夾,試圖建立與發行後的配置,我看到libPods,MyTarget.a文件是紅色的,因此丟失。
如果我然後再次構建調試,一切正常,文件libPods-MyTarget.a不再是紅色。所以我打開了我的項目構建到的文件夾。
- 調試,iphoneios //這一個有libPods-MyTarget.a文件
- 發佈 - iphoneios //這一個不具備libPods-MyTarget.a文件
某處,不知何故發佈配置,對於我的發佈方案,並沒有將pod框架移入它,而調試配置卻沒有。我無法弄清楚爲什麼。
問題是,如何將Pod框架鏈接到兩個Schemes及其各自的「調試」和「發行」文件夾?
該指南消失了,但能夠將椰子樹幹炸成核心指令。 – Alper
感謝您告訴我關於指南alper的信息,但我認爲您需要做的只是使用新的現有方案重新安裝pod,因此pod也會爲該目標建立依賴關係,然後轉到Pod目標Xcode,並告訴它使用哪個配置。 –
我發現有這樣一個命令:pod解體。所以每次我複製一個配置我都這麼做。另請參閱此問題:https://github.com/CocoaPods/CocoaPods/issues/5246 – Alper