Xcode 7不会从在Xcode 6中构建有效存档的同一项目中构建有效的存档

时间:2015-08-14 05:19:13

标签: ios xcode6 xcode7 ios9 xcode7-beta5

当使用Xcode 7b5构建包含Today Extension的应用程序时,我无法创建有效的存档。当我进行存档时,构建成功,然后在管理器中它显示在“其他项目”下而不是“iOS应用程序”下。

如果我关闭项目并在Xcode 6.3.2中打开相同的项目,当我进行存档时,它会显示在“iOS Apps”下。

我比较了档案,我注意到的一件事是我的今日小工具被放置在Applications目录之外。对于Xcode 6.3.2和Xcode 7b5,结构看起来像这样:

Xcode 6.3.2
| -archive
| - 产品
| ---应用
| ---- MyMainApp.app

Xcode 7 Beta 5
| -archive
| - 产品
| ---应用
| ---- MyMainApp.app
| --- MyTodayWidget.appex

我认为问题是MyTodayWidget打包在Applications目录之外和.app之外。我不确定为什么Xcode 7 beta 5会以不同于Xcode 6.3.2的方式打包应用程序,而我没有做任何更改。

2015年8月14日更新: 这似乎是CocoaPods和Extensions的一个问题,如WatchKit或Today扩展。据报道,另一位开发人员报道了Invalid archive produced when using "Archive" in Xcode 7 beta 5 (with watchkit extension) #4021。这似乎是这个问题的根本原因。

环境:
- Xcode 7 Beta 5
- 今天延期
- 普通应用
- CocoaPods 0.38.2 (截至9月22日的最新发布版本)
- 用于扩展的AFNetworking&应用

7 个答案:

答案 0 :(得分:16)

CocoaPods v0.39.0.beta.4存在问题。

CocoaPods GitHub中所述,CocoaPods的beta 3允许您按预期构建档案。 Beta 4有一个错误阻止它工作。

首先卸载以前的CocoaPods版本

sudo gem uninstall cocoapods

然后执行:

sudo gem install cocoapods -v 0.39.0.beta.3 --verbose

然后

pod update

并且您可以按预期再次构建档案。

答案 1 :(得分:12)

我今天刚刚确认这对我来说是一个CocoaPods问题,特别是4021。我在问题上尝试了其他用户,并从我今天的扩展目标中删除了“复制pod资源”。删除后,我就能够在Xcode 7 Beta 5中成功打包存档。

希望这仍然适用于下一个测试版和GM ......

更新9月22日:如果你在2015年9月22日之前使用 0.38.2 的CocoaPods最新发布版本,这就是答案。我可以使用这种方法使用Xcode 7 GM将我的应用程序提交到应用程序商店。

答案 2 :(得分:3)

最后它修复了最新的稳定版本0.39.0:

所以不要卸载

sudo gem uninstall cocoapods

并通过

重新安装
sudo gem install cocoapods

也是一个简单的

sudo gem update cocoapods

应该解决它!

答案 3 :(得分:1)

将Xcode更新为7.0版(7A220)时遇到了同样的问题。 他们说已经跟踪了这个问题(Issue#4274

最后,我通过以下步骤解决了这个问题: 1)清除所有Pods目标中的所有“私有标题文件夹路径”和“公共标题文件夹路径” - >构建设置 - >包装 2)删除我们的目标 - >构建阶段中的“复制窗口资源”。

答案 4 :(得分:0)

这可能是由于使用CocoaPods 0.38。[0-2]和Xcode 7引起的。

它适用于较旧版本的CocoaPods:

$ gem install cocoapods -v "=0.37.2"
$ gem uninstall cocoapods # then select 0.38.[0-2]
$ pod update

(此外,我还必须清理我的构建文件夹并在pod update之前擦除Pods文件夹并对AFNetworing post install hook in my Podfile进行更改

Cannot generate iOS App archive in xcode中讨论了其他原因。

答案 5 :(得分:0)

如果从扩展程序中删除Copy Pod Resources,则可以正常工作。虽然我不知道这可能导致什么,我的应用程序工作,存档并进行审核。

答案 6 :(得分:0)

如果将 Xcode 7 cocoapods v.0.38.2 一起使用。尝试从今天的扩展目标中移除copy pod resources