2015-10-12 111 views
1

我正在使用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及其各自的「調試」和「發行」文件夾?

回答

1

我最終刪除的CocoaPods完全跟隨這名(去掉了導向環,因爲它不再可用)

然後,我只是做了pod install,一切工作現在,對於我的方案。我不知道爲什麼,或者如何,併爲此感到抱歉。但現在我可以再次構建我的應用程序。我希望這對某人有幫助。

+1

該指南消失了,但能夠將椰子樹幹炸成核心指令。 – Alper

+0

感謝您告訴我關於指南alper的信息,但我認爲您需要做的只是使用新的現有方案重新安裝pod,因此pod也會爲該目標建立依賴關係,然後轉到Pod目標Xcode,並告訴它使用哪個配置。 –

+1

我發現有這樣一個命令:pod解體。所以每次我複製一個配置我都這麼做。另請參閱此問題:https://github.com/CocoaPods/CocoaPods/issues/5246 – Alper

相關問題