我最近升级到Xcode 10并开始更新我们的应用程序以切换4.2。在重建第三方框架并添加各种问题的解决方法后的一天左右,我能够在新的模拟器上运行我们的应用程序。
然而,当我尝试在我的个人手机(运行iOS 12.0 GM)上运行时,我遇到了一个安装应用程序时出现的错误,如标题所述。
我知道SO和互联网上有很多关于这个主题的已经回答的问题(lot of already answered questions),但是我无法使它们中的任何一个工作。
这已经阻碍了我大约一天半时间,所以我想知道是否有人对如何减轻这种情况有任何见解。
以下是我迄今为止采取的未能奏效的步骤(也许它们将来会对其他人有用!):
- 清除派生数据
- 删除并重新下载我的电脑上的所有供应配置文件
- 清理构建目录(cmd + k & cmd + shft + k)
- 从我的手机中删除原始应用程序
- 重新启动Xcode(版本10.0(10A254a)[GM版本])
- 重新启动我的Mac(运行macOS High Sierra的Macbook Pro 2018)
- 重新启动我的设备(运行iOS 12.0 GM的iPhone X)
- 尝试多种以上组合,包括同时尝试
- 在developer.apple.com上重新生成应用程序的配置文件(我们使用手动签名)
- 删除并重新创建应用程序在developer.apple.com上的配置文件
- 向Tim Cook献祭了一只山羊
- 确保签名证书与配置文件匹配
- 从计算机中删除旧版本的Xcode,并确认命令行工具是xcode 10.0 gm版本
- 删除并重新安装Xcode 10.0 GM
- 确保所有复制的框架都选中了
code sign on copy
- 通过Carthage使用Swift 4.2编译器重建所有框架(请记住,它在模拟器上都可以正常工作)。
- 确保在SDKSettings.plist中设置所需的代码签名为YES
- 删除我电脑上所有旧的签名证书
- 在developer.apple.com上删除并重新创建证书
- 从developer.apple.com中删除并重新添加我的设备
- 将代码签名从手动更改为自动
- 确保签名证书是
Developer 而不是
Distribution
任何帮助将不胜感激 :)
更新: 我试着重新下载和重新构建一个全新的机器,但是出现了同样的问题。有趣的是,我可以很好地归档和验证应用程序。
还尝试使用相同的绑定标识符对空项目进行签名,并且一切正常。因此,问题要么在于我们的第三方框架,要么在于从Xcode 9.4转换时启用的某些奇怪设置。将逐个删除第三方框架,直到能够编译为止。
更新2: 仍然没有运气。尝试清除大多数框架,但仍然无济于事。以下是设备日志,想知道Skipping a profile because of error 0xe8008012
是否与此有关:
https://gist.github.com/joshuawright11/6889ce1a0872262df77f97d63830baa5
更新3: 所以,我通过在构建阶段中注释掉carthage copy-frameworks脚本(并在这样做后清理/删除派生数据)来使其安装。当然,这意味着在引导时崩溃,因为它缺少这些框架,但这确实意味着问题要么在于carthage,要么在于其中一个链接的carthage框架。不是我们的签名证书、配置文件或代码库。将逐个删除这些框架,并在此处更新。
最终更新终于弄清楚了。解决方案非常专业(见下文),但希望这个问题能成为互联网上与此问题相关的所有解决方案的汇编。
carthage update
。如果问题在项目本身中 - 您需要审查您的框架。如果仅仅审查框架没有带来好运 - 请删除它们并尝试运行该项目。 - lobstah