我正在尝试在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
答案 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)