无法 运行 设备上的应用程序:iOS 9 个框架无法协同设计
Can't run app on device: iOS 9 frameworks won't codesign
我正在更新部署目标为 iOS 7 的应用程序,以便它可以与 iOS 9 一起使用。另外,我正在添加一些很酷的 iOS 8 和 9 功能。我已经阅读了很多关于向后版本兼容性的文章,现在 Swift 2.0 使它变得更容易。到目前为止我处理的事情是:
- 将 Base SDK 设置为 iOS 9,并将部署目标设置为版本 7
- 使用新 API 时 运行 使用
if #available(iOS 9.0, *)
检查版本
- 可选地链接仅 iOS9 个框架,如下所示:
如您所见,我使用的两个新框架是 ContactsUI
和 CoreSpotlight
。当我 运行 模拟器中的应用程序运行良好时,但是当我尝试在我的设备上构建并 运行 它时(显然是 运行ning 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 设备上 运行 我的应用程序时第一次出现(检查它 运行正确),但我的常规和最新设备也发生了同样的情况。
这里的问题是什么?代码签名错误是否与框架的兼容性有关?最后,当这个问题解决后,我的应用程序 运行 会在我想要支持的所有版本上吗?
提前致谢,如果您需要更多详细信息,请发表评论。
建议您按照以下步骤操作
退出你的xcode,
清除派生数据文件夹,
打开xcode,
清理你的项目文件夹,
在设备上重新执行构建
我通过从 Embedded Binaries 列表中删除框架解决了这个问题。现在我所有的框架都在 Linked Frameworks And Libraries 列表中:
我正在更新部署目标为 iOS 7 的应用程序,以便它可以与 iOS 9 一起使用。另外,我正在添加一些很酷的 iOS 8 和 9 功能。我已经阅读了很多关于向后版本兼容性的文章,现在 Swift 2.0 使它变得更容易。到目前为止我处理的事情是:
- 将 Base SDK 设置为 iOS 9,并将部署目标设置为版本 7
- 使用新 API 时 运行 使用
if #available(iOS 9.0, *)
检查版本 - 可选地链接仅 iOS9 个框架,如下所示:
如您所见,我使用的两个新框架是 ContactsUI
和 CoreSpotlight
。当我 运行 模拟器中的应用程序运行良好时,但是当我尝试在我的设备上构建并 运行 它时(显然是 运行ning 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 设备上 运行 我的应用程序时第一次出现(检查它 运行正确),但我的常规和最新设备也发生了同样的情况。
这里的问题是什么?代码签名错误是否与框架的兼容性有关?最后,当这个问题解决后,我的应用程序 运行 会在我想要支持的所有版本上吗?
提前致谢,如果您需要更多详细信息,请发表评论。
建议您按照以下步骤操作
退出你的xcode, 清除派生数据文件夹, 打开xcode, 清理你的项目文件夹, 在设备上重新执行构建
我通过从 Embedded Binaries 列表中删除框架解决了这个问题。现在我所有的框架都在 Linked Frameworks And Libraries 列表中: