无法在设备上运行应用程序:iOS 9框架不会进行编码签名

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

  • 将Base SDK设置为iOS 9,将部署目标设置为版本7
  • 使用新的API时,在运行时使用if #available(iOS 9.0, *)检查版本
  • 链接唯一的iOS9框架,如下所示: 构架

正如你所看到的,我使用的两个新框架是ContactsUICoreSpotlight 。 当我在模拟器中运行应用程序时,它可以正常工作,但是当我尝试在我的设备(显然运行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设备上运行我的应用程序(以检查它是否正确运行),但是同样发生在我的正常和最新的设备。

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

在此先感谢,如果您需要更多的细节只是评论。

我通过从embedded式二进制文件列表中删除框架来解决这个问题。 现在我只有链接框架和库列表中的所有框架:

在这里输入图像说明

build议您按照这些步骤操作

退出你的Xcode,清除派生的数据文件夹,打开Xcode,做一个干净的项目文件夹,重新执行构build设备