无法在设备上运行应用程序:iOS 9框架将无法编码

我正在使用部署目标iOS 7更新应用程序,因此它可以与iOS 9一起使用.此外,我还添加了一些很酷的iOS 8和9功能.我已经阅读了很多关于向后版本兼容性的文章,现在
Swift 2.0让它变得更容易了.我到目前为止所做的事情是:

>将Base SDK设置为iOS 9,将部署目标设置为版本7
>使用新API时,在运行时使用ifavailable(iOS 9.0,*)检查版本
>可选地链接唯一的iOS9框架,如下所示:《无法在设备上运行应用程序:iOS 9框架将无法编码》

正如您所看到的,我正在使用的两个新框架是ContactsUI和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设备上运行我的应用程序(检查它运行正常),但后来同样发生在我的常规和最新设备.

这是哪个问题?代码签名错误是否与框架的兼容性有关?最后,当这个问题解决后,我的应用程序将运行在我想支持的所有版本上吗?

在此先感谢,如果您需要更多详细信息,请发表评论.

最佳答案 我通过从嵌入式二进制文件列表中删除框架来解决该问题.现在我只在Linked Frameworks And Libraries列表中拥有所有框架:

《无法在设备上运行应用程序:iOS 9框架将无法编码》

点赞