构建时出现以下错误:
The application does not have a valid signature
玩了一会儿之后,我发现了以下内容:
- 错误仅在构建没有任何更改的应用程序后出现 - 也就是说,如果我在开发过程中遇到崩溃并尝试再次构建它会显示错误
- 为了再次构建,我需要添加空格或新行,然后它就会工作
- 它会在完全清理后运行 -> 构建。这是 Not Acceptable ,因为项目很大(超过 300 个文件)并且使用 cocoapods 构建时间大约需要 20 分钟。
- 发生在所有类型的 iOS 上,但只发生在设备上。在模拟器上它工作正常。尝试从 8.0 到 10.2 iOS 版本。
- Clean build 只会修复一次,之后如果我尝试再次构建相同的代码,则会出现相同的错误。
其他相关信息:
- Xcode 8.2(也发生在 8.0 和 8.1 上)
- 语言是 Swift 3
- MacOS 是 Sierra (10.12.1)
- 用于签名的证书是企业
已经在线尝试了所有建议的解决方案,包括 SO(例如 App installation failed),但没有成功。
我的问题是:如何解决这个问题,以便每次构建时无需更改代码即可构建?我认为这与build设置有关...
最佳答案
这似乎是 Xcode 的一个已知问题。我没有在我们的项目中体验过,所以它可能与 CocoaPods 有关,或者其他特定于您的项目的东西。我记得在 Apple 的论坛上看到过这个问题 here .
虽然更多的是解决方法而不是解决方案,但您可以通过添加 BuildDate.plist 文件强制应用程序每次重建,添加构建阶段以将当前日期/时间放入 plist 文件中。此更改足以触发足够的重建,因此代码签名错误不会影响您。它应该会导致重新编译任何耗时的东西。
这样一来,您和您的团队就不必在发生这种情况时对代码进行简单的更改。
关于ios - 应用程序安装失败 - 应用程序在构建时没有有效的签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41224664/