podspec中包含xcdatamodeld的代码签名问题

时间:2014-09-24 13:15:15

标签: ios xcode6 cocoapods codesign

我正在尝试在Cocoapods Podspec中包含Core Data .xcdatamodeld文件。此文件位于我的Assets目录中,并包含在Podspec中,如下所示:

s.resources = 'Assets/**/*'

这在模拟器中运行应用程序时工作正常,但是当我尝试在物理设备上运行应用程序时,我收到此错误:

unsealed contents present in the bundle root 
Command /usr/bin/codesign failed with exit code 1

如果我通过Xcode将.xcdatamodeld文件添加到我的项目而不将其添加到我的Podspec中,则代码签名阶段成功完成,应用程序按预期运行。然而,这不是理想的解决方案。我更愿意将它添加到Podspec以避免额外的步骤,必须手动将.xcdatamodeld文件添加到使用该Podspec的所有项目。

升级到Xcode 6和OSX 10.9.5后,我开始看到此错误。我可以在我的Podspec中设置任何参数来使我的.xcdatamodeld文件成功进行代码签名吗?由于最近对Xcode和OSX的更新,这可能是Cocoapods中的一个错误吗?

使用cocoapods-0.33.1

2 个答案:

答案 0 :(得分:0)

最好将资源添加到捆绑包中,如下所示:

s.ios.resource_bundle = { 'Assets' => ['YourCoreData.xcdatamodeld'] }

这样,它们不是将资源复制到根目录中,而是在资源包中捆绑在一起。 见http://guides.cocoapods.org/syntax/podspec.html#tab_resource_bundles

答案 1 :(得分:0)

我将Core Data与以下pod规范行集成在一起:

s.resources = 'Pod/CoreData/coredata.xcdatamodeld' s.preserve_paths = 'Pod/CoreData/coredata.xcdatamodeld'

+删除派生数据为我解决了这个问题(使用可可豆荚0.36)