【问题标题】:How to fix "IPA processing failed" in Xcode 12.2 with MAC M1如何使用 MAC M1 在 Xcode 12.2 中修复“IPA 处理失败”
【发布时间】:2021-03-03 02:23:16
【问题描述】:

当我尝试创建 Ad Hoc IPA 文件时。它给出了“IPA 处理失败”错误。

Xcode 版本为 12.2。 Mac mini(M1,2020)

我检查了日志文件:IDEDistribution.standard.log 文件。

Assertion failed: Expected 2 archs in otool output:
/var/folders/kd/kb03k1ks33sb33gnl9fz95yr0000gn/T/IDEDistributionOptionThinning.~~~qlv6NP/Payload/xxx.app/xxx:
Mach header
      magic  cputype cpusubtype  caps    filetype ncmds sizeofcmds      flags
MH_MAGIC_64    ARM64        ALL  0x00     EXECUTE    47       5672   NOUNDEFS DYLDLINK TWOLEVEL BINDS_TO_WEAK PIE
Load command 0
      cmd LC_SEGMENT_64

如何解决?

【问题讨论】:

标签: ipa adhoc silicon


【解决方案1】:

1 打开 Finder--> 应用程序

2选择Xcode---->显示信息

3 使用罗塞塔

这对我有用

Xcode -->构建设置-->iOS 部署目标-->iOS 13.0 或更高版本

这个方法也是可以的,但是我必须兼容较低的ios版本, 所以我用罗塞塔

【讨论】:

  • 太棒了!!谢谢顿!!您节省了我浪费时间来解决这个问题..:)
  • 嘿,当我选择使用 Rosetta 时,我的所有情节提要都显示错误。你也面临这个错误吗?如果是,您是如何解决的?
  • 我没有这个错误,你安装的是Rosetta吗?
  • 它对我有用!我不认为启用罗塞塔选项。谢谢。
  • @Khushabu 我也遇到了这个错误,我在这里回答:stackoverflow.com/a/66010755/4711785
【解决方案2】:

Xcode -->构建设置-->iOS 部署目标-->iOS 13.0 或更高版本

  1. 新闻窗口 > 管理器
  2. 右键单击您的应用 > 在 Finder 中显示
  3. 右键单击第一个 .xcarchive 文件 > 显示包内容
  4. 右键单击 /Products/Applications > 显示包内容
  5. 删除所有 lib*.dylib
  6. 重新分发应用程序

这对我有用。

但是,我不知道为什么这样可以解决问题。

【讨论】:

  • 今天我遇到了和 yao.h 一样的问题。作为附加信息:我的项目是针对 iOS 10.0 的部署目标(最初使用较旧的 Mac 开发的)。只有切换到 iOS 13.0 才能解决我的问题。 -.- 我还将项目格式更新为兼容 Xcode 12.0。切换到 iOS 13 后,我不再有包含 *.dylib 文件的文件夹。
  • 我们中的一些人(我)遇到的问题是使用 cocopods。这就是错误似乎出现的地方,在 pods 框架中。 .dylib 技巧对我不起作用,但 iOS 13 目标看起来很有希望,我会尝试的。我已在 Apple 留言板上发帖,看看是否可以征求 Apple 支持团队的回复。当我尝试将基于 M1 的笔记本电脑用于旧项目时,这具有极大的破坏性。
【解决方案3】:
  1. 转到应用程序文件夹
  2. 选择一个 Xcode 并按 Command+I(这将打开 Xcode 的信息)
  3. 在常规选择下(使用 Rosetta 打开)
  4. 确保关闭项目并退出 Xcode,然后打开 Xcode,现在可以生成 .ipa 文件

【讨论】:

  • 我的 Intel Mac 也有同样的问题。这是一个真正的痛苦。
  • 我正在使用芯片 M1 Apple,我遇到了这个错误。这节省了我的时间,谢谢!
  • 谢谢!我也有 M1。
【解决方案4】:

只需使用 Rosetta 打开您的 Xcode。与部署目标没有关系

【讨论】:

  • 在与多个 cocopods 相关联的更复杂的构建中,我看到构建只完成了大约 90%。卡住。因此,虽然 Rosetta 方法可能适用于某些项目,但并非适用于所有情况。
  • 所以构建挂起与其他一些 xcode/rosetta 问题有关,通过重新启动解决。它卡在索引文本上。
  • @truedat101 构建应用程序时,您不需要使用 Rosetta。当您的应用构建完成后,您可以关闭您的 Xcode 并在 Rosetta 中重新打开它,然后您就可以成功导出您的 IPA。
【解决方案5】:

“Xcode -->构建设置-->iOS 部署目标-->iOS 13.0 或更高版本”。这种方法可以解决问题,但是我的应用最低支持系统低于13。

-->在提示“IPA处理失败”错误之前,在显示“正在分析签名”的加载过程中,快速连续点击“下一步”按钮跳过该错误。我不知道原因。我希望苹果能解决这个问题。

【讨论】:

  • 弹出画面的时候好像没有办法取消bitcode复选框,但是按照描述可以快速点击next。
  • 你可以设置这个XCode用Rosetta打开,这个方法可以解决这个问题。但是我觉得即使恢复这个设置,Xcode的构建速度也会变慢。
  • 啊,非常好。所以我遇到的 Rosetta 问题是它永远卡住了索引文本(或索引 | 暂停)。解决方法是重新启动。然后我在这里尝试了你的解释。这是一个很难弄清楚的问题。感谢您提供取消选中“从位码重建”的提示。同意这每次都会变慢。我的应用有点大,包含所有的故事板和 cocoapods。
  • 请注意,我没有将我的项目版本设置为以 iOS 13 为目标,但能够通过 Rosetta 方法将其保留在 iOS10 上 + 取消选中“从位码重建”
【解决方案6】:

设置您的最低部署目标 iOS 13.0 或更高版本。

【讨论】:

    【解决方案7】:

    有两种解决方案:

    1. 在 Rosetta 模式下运行 Xcode
    • 完全退出 Xcode
    • 转到查找器 -> 应用程序
    • 右键单击 Xcode 并选择“获取信息”
    • 检查罗塞塔
    • 再试一次
    1. 将 Xcode 升级到 12.5

    【讨论】:

      猜你喜欢
      • 2019-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多