Zombie:使用集成菜单归档失败

mrj*_*_05 5 xcode archiving zombie-process ios

当我尝试使用Xcode菜单(产品-存档)直接归档项目时,它运行良好。但是,当我尝试从“集成”菜单(机器人)执行它时,出现此错误:

生成操作失败,未指定任何错误。个别构建任务可能由于未知原因而失败。一种可能的原因是,如果进程太多(可能是僵尸进程);在这种情况下,重新启动可能会解决该问题。下面可能列出一些个别的构建任务失败(最多12个)。

发生什么事?我找不到任何错误消息,完全不知道发生了什么。我试图重新启动Macmini,并还原更改,但仍然如此。

Lui*_*rbe 6

更新(编辑 3)

该问题已在Xcode 11上修复,从 beta 3 开始

  • Xcode 默认使用响应文件将输入文件传递给 Swift 编译器。要关闭此行为,请将 USE_SWIFT_RESPONSE_FILE 设置为 NO。

  • 您可以在目标中使用无限数量的 Swift 文件。(35879960)

旧答案

我只看到当文件总数(注意它们各自的绝对路径计数)超过命令行长度限制(看起来它是由操作系统强加的,目前在我的 rMBP 上为 262144 字节)时出现此错误。这是一个已知问题。

要解决此问题 (AFAIK),您有 2 个选择:

  • 快速(短期):将您的项目放在服务器上的较短路径上(例如将项目从 移动/Users/mrjimoy_05_server/myprojects/mycoolproject//p/mycoolproject

  • 更好(长期):虽然第一个解决方案可能有效,但就目前而言,您可能会在不久的将来达到您现在所处的同一点。因此,更好的解决方案是模块化您的应用程序(将其分成框架/项目)。由于每个模块都将单独构建,因此达到限制并再次出现此错误将更加困难。

我希望它有帮助。

PD:看起来新构建系统抛出的错误是:

无法生成进程(文件存在)

编辑 1

Xcode 10 上的New Build System现在抛出的错误是:

无法生成进程(参数列表太长)

编辑 2

雨燕车队已经解决了这个问题,但它也需要从Xcode的团队一些工作,尚未对最新发布的Xcode版本没有完成(10.2)