2015-09-25 72 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