Xcode 10无法归档项目

时间:2018-09-18 15:09:10

标签: ios xcode xcode10 swift4.2

我正在尝试上传AppStore中已经存在的新版本的应用程序。先前版本是使用Xcode 9.4上传的。但是现在需要Xcode 10才能获得批准。

遗憾的是,Xcode 无法归档项目,所以我陷入了第一步,甚至无法生成要提交的二进制文件。

没有错误:根据Xcode的说法,我们的存档过程有2000多个任务,并且卡在了任意任务中(总是一样)。 Xcode不会崩溃,不显示错误,也不会抱怨。它只是无法通过该任务,而IDE将永远在那里。

我们在不同的计算机上进行了尝试,还尝试了两个版本:该应用程序的先前版本(可以使用Xcode 9.4存档)和新版本,已成功迁移到Swift 4.2。

更新:

  • 旧版构建系统也不起作用。
  • 通用iOS设备构建也会卡住(不仅是存档),但是该软件可以在模拟器上编译并运行。
  • 试图编译非迁移版本,选择Swift 4(而不是4.2)并获得相同的结果。
  • 使用优化级别,整体编译与增量编译等,并且结果始终相同。
  • 在Xcode 9.4中,它无需更改即可很好地为通用iOS设备构建。

3 个答案:

答案 0 :(得分:11)

最后,我从项目构建设置的“有效体系结构”中删除了“ armv7”。存档了!这意味着iPhone 4S不再兼容。 但是,我认为苹果不会以这种方式淘汰4S。通过查看日志,我发现它卡在了创建dSYM符号的过程中。

[17:15:49]: ▸ Generating 'ZUS_INHOUSE_DEV.app.dSYM'
[17:16:15]: ▸
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _lum_convert
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _ff_init_desc_hscale
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _lum_h_scale
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _ff_init_desc_cfmt_convert
[17:16:15]: ▸
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _ff_init_desc_chscale
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _chr_h_scale
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _ff_init_desc_no_chr
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _no_chr_scale
[17:16:30]: ▸ (arm64)  could not find object file symbol for symbol _vlc_entry__audio_filter_libscaletempo_pitch
[17:16:30]: ▸
[17:16:30]: ▸
[17:16:30]: ▸
[17:16:30]: ▸
[17:16:30]: ▸
[17:16:30]: ▸
[17:16:30]: ▸ (arm64)  failed to insert symbol '_best_overlap_offset_float' in the debug map.

因此,我想,另一个解决方法是将“调试信息格式”从“带有dSYM文件的DWARF”更改为“ DWARF”。

答案 1 :(得分:0)

就像LexTang所暗示的那样,无需从有效体系结构中删除armv7的一种解决方法是将“ DWARF”设置为“ Debug Information Format”。不幸的是,这样我们就失去了自动崩溃符号化的选项。用这种方法查找崩溃原因要困难得多,但仍然并非不可能。在以下链接上,您可以找到有关象征iOS崩溃的更多信息: https://coderwall.com/p/ezdcmg/symbolicating-an-ios-crash-log-without-the-original-dsym-file https://www.apteligent.com/technical-resource/symbolicating-an-ios-crash-report

答案 2 :(得分:0)

通过删除构建设置中对Swift Compile的优化,我们可以将其保存到DSYM中。

构建设置-> Swift编译器-代码生成->版本

设置为“无优化”

JacobJ84在Apple论坛上建议的原始修补程序:https://forums.developer.apple.com/thread/115185

相关问题