我正在更新一个部署目标为 iOS 7 的应用程序,以便它可以与 iOS 9 配合使用。此外,我还添加了一些很酷的 iOS 8 和 9 功能。我读过很多关于向后版本兼容性的文章,现在 Swift 2.0 让它变得更容易。到目前为止我处理过的事情是:
- 将基础 SDK 设置为 iOS 9,将部署目标设置为版本 7
- 在运行时检查版本
if #available(iOS 9.0, *)
使用新 API 时
- Linking the only-iOS9 frameworks optionally, as seen here:
正如你所看到的,我正在使用的两个新框架是ContactsUI
and CoreSpotlight
。当我在模拟器中运行该应用程序时,它运行得很好,但是当我尝试在我的设备(显然正在运行 iOS 9)上构建并运行它时,我收到以下代码签名错误:
/path/to/a/file.framework: bundle format unrecognized, invalid, or unsuitable
Command /usr/bin/codesign failed with exit code 1
对于 ContactsUI 框架和 CoreSpotlight,此错误出现两次。
起初我认为这是一个兼容性问题,因为当我尝试在 iOS 7 设备上运行我的应用程序时第一次出现它(以检查它是否正确运行),但随后我的常规和最新版本也发生了同样的情况设备。
这里的问题是哪一个?代码签名错误是否与框架的兼容性有关?最后,当这个问题解决后,我的应用程序是否可以在我想要支持的所有版本上运行?
预先感谢,如果您需要更多详细信息,请发表评论。
我通过删除框架解决了这个问题嵌入式二进制文件列表。现在我所有的框架都只在链接的框架和库 list:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)