我在swift上创建了一个应用程序,并使用iPhone 6,iPhone 6 plus和iPhone 5设备以及Xcode提供的所有模拟器进行了大量测试。该应用运行正常,并在本地上传时不会崩溃。 (iOS 8)
我终于提交了Testflight的构建版本。通过Testflight构建下载应用程序后,应用程序在同一位置始终崩溃。
是否存在已知问题,其中上载的构建与本地创建的构建运行方式不同?我如何使用Testflight构建调试问题?
答案 0 :(得分:58)
我猜它是一个快速的编译器问题。要先验证修改方案,然后在运行标签中将构建配置更改为发布模式,然后再安装在本地建立。你会知道它崩溃的原因。
答案 1 :(得分:7)
我通过将快速编译器优化从fastest
更改为none
来解决了这个问题。我不确定这是否是一个理想的长期解决方案,但构建不再崩溃。
答案 2 :(得分:4)
可能是 Bitcode 相关问题。检查您的所有第三方库是否支持bitcode,然后仅将bitcode设置为 YES 否则设置为 NO 。
实际上Bitcode是编译程序的中间表示。您上传到iTunes Connect的包含bitcode的应用将在App Store上进行编译和链接。
答案 3 :(得分:1)
如果其他人遇到同样的问题,这就是我的修复方法:
我终于把问题归结为一个带有if语句的循环,类似于这个 -
while(condition)
{
if (check)
{
code!
}
//There was no code here
}
请注意,循环结束时没有代码(注释所在的位置)。一旦我添加了一个随机的代码(在这种情况下,为输出增加一个变量),问题就停止了。
while(condition)
{
if (check)
{
code!
}
i += 1;
output statement
}
我认为这必须是编译器错误,否则我的“修复”根本不应该是修复。但这是为了防止其他任何人!
答案 4 :(得分:1)
而不是空的while循环中的i += 1;
。
我在空的时候做了这个循环:RunLoop.current.run(until: Date(timeIntervalSinceNow: 1))
现在TestFlight应用程序不会轰炸!
较短的时间也可能有效,例如:RunLoop.current.run(until: Date(timeIntervalSinceNow: 0.25))
答案 5 :(得分:1)
就我而言,将“旧版构建系统”更改为“新构建系统”(对于Xcode 10)解决了我的问题,其中Testflight构建的行为有所不同。可能会对某人有所帮助。
答案 6 :(得分:1)
对于所有面临类似问题的人,请按照以下步骤操作
转到 Xcode->寡妇->组织者,然后选择崩溃标签,然后选择您的应用。 如果您已将Apple帐户添加到 Xcode-> preferences->帐户中,则Xcode会下载所有崩溃报告,甚至用于testflight版本。
它将具有堆栈跟踪,您无需像以前那样将其象征化。 PS:-我见过的最常见的是UISearchDisplayController问题
答案 7 :(得分:1)
对于仍然存在此问题的任何人,您都可以运行此命令以发布模式运行它,与归档构建时相同。这样,您可以更轻松地调试问题:
react-native run-ios --configuration Release
答案 8 :(得分:0)
我不得不更改存档版本中的设置,以进行调试版本来解决类似的问题,iOS实际上允许将调试版本发送到testflight,以解决我的问题以进行初始测试。
尽管后来我知道我在应用程序中使用共享扩展名作为目标,但我的应用程序中缺少了授权文件。
我没有看到有关授权问题的堆栈溢出的任何信息。我浪费了很多时间。希望这对以后像我这样的人有帮助。
答案 9 :(得分:0)
就我而言,这是在开始使用Xcode 11之后发生的。这是一个UISearchDisplayController
(自iOS 8起不推荐使用),似乎可以在设备或模拟器上以调试模式运行,但在发行版本中却没有。 Xcode 11.3在代码中未给出任何内联警告。
崩溃很难找到,因为不再使用搜索控制器,它是孤立的代码。
答案 10 :(得分:0)
我明白了(部分!)。实际上,迅速项目中的UI_USER_INTERFACE_IDIOM()“释放”实现会使应用程序崩溃。
但是,我仍然不知道为什么我们的应用程序商店应用程序(基于目标C语言)不会崩溃。
我唯一的猜测是,它在Apple的UI_USER_INTERFACE_IDIOM()API实现中出现了小故障。
无论如何,我将所有UI_USER_INTERFACE_IDIOM()替换为UIDevice()。 userInterfaceIdiom。我希望这对某人有帮助!