用Xcode 7 GM提交App出现Invalid Binary

2015/09/13 · 浏览量 168 · 全部博文

每年 iOS / Xcode 出新版本,app 开发者都得折腾一阵,把自己的代码迁移到新的 Xcode。目前Xcode 7 GM版出来了,但 Release 版还遥遥无期。但 GM 版理应可以上传 app,这样可以赶在下周 iOS 9 前上线新 app。

湾区日报的 iOS App 是用 Swift 写的,一些依赖的库也是纯 Swift 写的。把整个 project 迁移到 Xcode 7 上着实费劲,因为要从 Swift 1.2 转到 Swift 2.0。尽管 Xcode 7 能自动转化,但还是有一些需要手工调整的部分。

好了,整个 project 迁移到 Xcode 7 了,接下来要生成 archive 上传到 iTunes Connect。不料,上传后老是出现 Invalid Binary 的错误。收到Apple发来的邮件:Invalid Swift Support — The files libswiftContacts.dylib … don’t match /Payload/…/Franeworks/libswiftContacts.dylib …

 

尝试了几次都一样的错误。Apple 开发者论坛上很多人也遇到同样的情况

今天早上,我在 StackOverflow 上找到了解决办法 — 显然,Xcode 7 GM 还是有 bug 的。大概思路是这样的:

1. 在 Organizer 里选中最新的 archive,然后在 Finder 里打开。

 

2. 然后 Show Package Contents。

 

3. 进入 SwiftSupport/iphoneos 文件夹,复制所有的 dylib

 

4. 然后进入 Products/Applications/[APP NAME].app/Frameworks,粘贴刚才复制的 dylib,覆盖一有的 dylib。

 

5. 最后,再回到 Organizer ,上传这个 archive 到 iTunes Connect。

这次上传后,倒是没有出现 Invalid Binary 错误;并且也顺利提交 review了。但愿 review 的时候别出什么问题 🙏 🙏 🙏


我读过的好书、 用过的好工具推荐: