ipatool 失败,出现异常 xcode 9
ipatool failed with an exception in xcode 9
我正在尝试导出 ipa 文件以进行临时分发。我遇到了以下问题
ipatool 异常失败
我试了很多次都只得到同样的错误。最后,在下面的红色错误出现之前,我只是点击了快速下一步。我得到了 ipa 文件,但是这个 ipa 不起作用。
我从 Xcode 安装了这个 ipa,它显示
App installation failed An unknown error has occurred
我也检查了我的分发证书和配置文件。我创建了新的配置文件,但它不起作用
通常,这可能是由于项目中使用的外部库或框架存在问题。
要跟踪导致问题的框架,您可以从项目中删除该框架。注释那些使用该框架的行并开始归档 iOS 构建。如果可行,您可以用最新的稳定版本替换那个有问题的框架。
一整天我也被这个问题震惊了,我做了很多解决方案但没有用.....我犯了一个很小的错误,其中一个解决方案是
重新启动 Xcode 并尝试。我错误地尝试了这个关闭所有项目最终关闭 Xcode (它有效),但我很快退出 Xcode
最终解决方案很清楚Xcode(通过关闭每个项目)并存档...
我觉得它对你有帮助
我也被这个问题震惊了!
我在我的 unity 项目中删除 'Asset/Unity Technologies/Recorder' 后解决了这个问题。
如果您碰巧是像我一样制作框架的人,而您的框架导致了那些 ipatool 失败的问题。你可以查看这些:
删除项目中的所有依赖项并尝试一一添加,确定导致构建错误的框架,检查最新的稳定版本或向框架所有者报告以解决问题。
在构建供他人使用的框架之前,在项目方案测试部分中禁用与代码覆盖率相关的所有内容。
code coverage disabled
- 在我的例子中,框架构建没有错误,但它会在使用我的框架的项目上的 .ipa 存档上生成 ipatool 错误。一直在尝试解决这个问题,发现有一行代码导致 ipatool 失败:
if (@available(iOS 10.0, *)) {
}
更改为此代码为我解决了问题:
if(([[[UIDevice currentDevice] systemVersion] floatValue] >= 10.0)) {
}
注意:我正在使用带有调试 SDK 13.2 的 Xcode 11.3.1 和启用位码的构建目标 iOS 9.0
遇到同样的错误,取消选中选项 Rebuild from Bitcode
即可解决问题。
能够成功生成存档
确保您在生成存档时已剥离模拟器架构(x86_64、i386)。您可以在“编辑架构”中“存档”选项卡下的 Post 操作部分添加脚本以删除不需要的架构。
如果 Rebuild from Bitcode
的取消选中选项不可用。然后将 Xcode 更新到最新版本可能会有所帮助。原因是您使用的第三方框架可能是使用 Xcode 版本高于您的 Xcode 版本构建的。
我正在尝试导出 ipa 文件以进行临时分发。我遇到了以下问题
ipatool 异常失败
我试了很多次都只得到同样的错误。最后,在下面的红色错误出现之前,我只是点击了快速下一步。我得到了 ipa 文件,但是这个 ipa 不起作用。
我从 Xcode 安装了这个 ipa,它显示
App installation failed An unknown error has occurred
我也检查了我的分发证书和配置文件。我创建了新的配置文件,但它不起作用
通常,这可能是由于项目中使用的外部库或框架存在问题。
要跟踪导致问题的框架,您可以从项目中删除该框架。注释那些使用该框架的行并开始归档 iOS 构建。如果可行,您可以用最新的稳定版本替换那个有问题的框架。
一整天我也被这个问题震惊了,我做了很多解决方案但没有用.....我犯了一个很小的错误,其中一个解决方案是
重新启动 Xcode 并尝试。我错误地尝试了这个关闭所有项目最终关闭 Xcode (它有效),但我很快退出 Xcode
最终解决方案很清楚Xcode(通过关闭每个项目)并存档...
我觉得它对你有帮助
我也被这个问题震惊了!
我在我的 unity 项目中删除 'Asset/Unity Technologies/Recorder' 后解决了这个问题。
如果您碰巧是像我一样制作框架的人,而您的框架导致了那些 ipatool 失败的问题。你可以查看这些:
删除项目中的所有依赖项并尝试一一添加,确定导致构建错误的框架,检查最新的稳定版本或向框架所有者报告以解决问题。
在构建供他人使用的框架之前,在项目方案测试部分中禁用与代码覆盖率相关的所有内容。
code coverage disabled
- 在我的例子中,框架构建没有错误,但它会在使用我的框架的项目上的 .ipa 存档上生成 ipatool 错误。一直在尝试解决这个问题,发现有一行代码导致 ipatool 失败:
if (@available(iOS 10.0, *)) {
}
更改为此代码为我解决了问题:
if(([[[UIDevice currentDevice] systemVersion] floatValue] >= 10.0)) {
}
注意:我正在使用带有调试 SDK 13.2 的 Xcode 11.3.1 和启用位码的构建目标 iOS 9.0
遇到同样的错误,取消选中选项 Rebuild from Bitcode
即可解决问题。
能够成功生成存档
确保您在生成存档时已剥离模拟器架构(x86_64、i386)。您可以在“编辑架构”中“存档”选项卡下的 Post 操作部分添加脚本以删除不需要的架构。
如果 Rebuild from Bitcode
的取消选中选项不可用。然后将 Xcode 更新到最新版本可能会有所帮助。原因是您使用的第三方框架可能是使用 Xcode 版本高于您的 Xcode 版本构建的。