Jenkins 生成的 ipa 无法在 iPhone 上安装(iOS 9 + XCode 7.1)
Posted
技术标签:
【中文标题】Jenkins 生成的 ipa 无法在 iPhone 上安装(iOS 9 + XCode 7.1)【英文标题】:Jenkins generated ipa couldnt install on iPhone (iOS 9 + XCode 7.1) 【发布时间】:2015-11-25 07:42:42 【问题描述】:我正在尝试实施 Jenkins CI 来为 ios 生成构建。我安装了最新的 Xcode 7.1,并且 ipa 正在生成且没有错误。在尝试通过下载链接安装 ipa 时,我收到一条错误消息“这次无法安装”。我也尝试通过 iTunes 安装相同的内容,但收到错误消息“无法同步 1 个项目”,并且 iTunes 显示错误消息“应用程序“xxxxxx”未安装在 iPhone“xxxxxx”上,因为发生了未知错误( 0xE8000005)”。
代码签名证书和配置文件是正确的,我能够安装从 XCode 生成的 ipa。
任何帮助将不胜感激。谢谢:)
【问题讨论】:
【参考方案1】:我也面临同样的问题。使用 Jenkins 2.5 和 Xcode 7.3.1。 Jenkins 成功构建了打包 ipa 的 iOS 应用程序,但是 ipa 没有安装在 iPhone 上,无论是使用 iTunes 还是从 TestFairy 下载时。收到相同的错误“由于发生未知错误(0xE8000005),iPhone“xxxxxx”上未安装应用程序“xxxxx”。
在 Jenkins 日志中,我注意到以下内容:
22:03:10 ### Checking original app
22:03:10 + /usr/bin/codesign --verify -vvvv /Users/jenkins/.jenkins/workspace/app-ios-build-job/build/MyAppProd.app
22:03:10 Program /usr/bin/codesign returned 1 : [/Users/jenkins/.jenkins/workspace/app-ios-build-job/build/MyAppProd.app: a sealed resource is missing or invalid
22:03:10 file added: /Users/jenkins/.jenkins/workspace/app-ios-build-job/build/MyAppProd.app/MyAppProd.app
22:03:10 ]
22:03:10 Codesign check fails : /Users/jenkins/.jenkins/workspace/app-ios-build-job/build/MyAppProd.app: a sealed resource is missing or invalid
22:03:10 file added: /Users/jenkins/.jenkins/workspace/app-ios-build-job/build/MyAppProd.app/MyAppProd.app
22:03:10
22:03:10 Done checking the original app
在进一步搜索中找到了bladebunny在https://github.com/Carthage/Carthage/issues/782发布的答案
问题原来是 Jenkins 上的重复包命令导致应用程序被签名两次 - 然后导致安装失败。解决方案是更改 Jenkins Xcode 插件设置。在“常规构建设置”下 - 我们发现您无法同时选中“生成存档”和“打包应用程序并构建 .ipa?”设置。插件问题日志似乎表明以前的设置已被弃用。我们使用后一种设置,现在可以使用我们的自定义动态框架成功部署应用程序。
上述修复对我有用。
【讨论】:
以上是关于Jenkins 生成的 ipa 无法在 iPhone 上安装(iOS 9 + XCode 7.1)的主要内容,如果未能解决你的问题,请参考以下文章
4张图看懂delphi 10生成ipa和在iPhone虚拟器上调试(教程)