我正在尝试上传AppStore中已经存在的新版本的应用程序。先前版本是使用Xcode 9.4上传的。但是现在需要Xcode 10才能获得批准。
遗憾的是,Xcode 无法归档项目,所以我陷入了第一步,甚至无法生成要提交的二进制文件。
没有错误:根据Xcode的说法,我们的存档过程有2000多个任务,并且卡在了任意任务中(总是一样)。 Xcode不会崩溃,不显示错误,也不会抱怨。它只是无法通过该任务,而IDE将永远在那里。
我们在不同的计算机上进行了尝试,还尝试了两个版本:该应用程序的先前版本(可以使用Xcode 9.4存档)和新版本,已成功迁移到Swift 4.2。
更新:
答案 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