2015-09-25 75 views
0

我偶然發現了一個非常奇怪的問題。爲今天的擴展添加pod生產通用存檔

在我的一個應用程序中,我使用可可豆莢來安裝Alamofire。直到今天,我已經將Alamofire添加到了我的主要目標中。然後,我決定在2天的擴展中使用Alamofire。我修改我的Podfile看起來像這樣

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

target 'target1' do 
pod 'Alamofire', '~> 2.0' 
end 

target 'target2' do 
pod 'Alamofire', '~> 2.0' 
end 

target 'target3' do 
pod 'Alamofire', '~> 2.0' 
end 

當我調試產品時,一切正常。我也可以確認Alamofire在擴展中正確執行。問題在於,無論何時將我的應用程序歸檔,我都會獲得通用歸檔,並且沒有任何特定的成員資格到任

經過檢查,我可以看到在我的存檔的Products目錄中複製了target2.appex(0字節)和target3.appex(0字節)。 Products/Applications/target1.app/Plugins中也存在正確的版本。我不知道如何解決這個問題。

我已經嘗試在我的Pod文件中使用link_with。我也嘗試過使用一些構建設置 - 它仍然不起作用。

有沒有人遇到過這個問題,並知道如何解決它?

我可以確認的是,當我改變我的波德文件

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

    target 'target1' do 
    pod 'Alamofire', '~> 2.0' 
    end 

    target 'target2' do 
    end 

    target 'target3' do 
    end 

創建的存檔是正確的。然而,這樣的設置,我不能在我的擴展使用Alamofire ...

回答

1

看起來這是的CocoaPods和Xcode中7的問題。此線程是最有幫助的:

Invalid archive produced when using "Archive" in Xcode 7 GM (with watchkit extension) #4021

最受歡迎解決方法是從您的Today Extension目標中刪除Copy Pod資源階段(在構建階段中)。我試過了,可以確認它的工作原理,並保持我的Today Extension正在使用的吊艙正常工作。

其他受歡迎的建議的解決方法是:

  • 使用的CocoaPods 0.39.0.beta.3並運行安裝莢再次
  • 將「公共」頭,以「項目」爲標題在每個吊艙目標建立階段。

參見:Archives broken in Xcode 7β6 by containing public pod headers