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 失败的问题。你可以查看这些:

  1. 删除项目中的所有依赖项并尝试一一添加,确定导致构建错误的框架,检查最新的稳定版本或向框架所有者报告以解决问题。

  2. 在构建供他人使用的框架之前,在项目方案测试部分中禁用与代码覆盖率相关的所有内容。

code coverage disabled

  1. 在我的例子中,框架构建没有错误,但它会在使用我的框架的项目上的 .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 版本构建的。