iOS应用在Testflight Ad Hoc分发中无法启动

3
我正在开发一款应用程序,通过Xcode运行时在我的手机上完美运行。但是当我通过TestFlight分发beta版时,没有用户可以运行它 - 注意:他们可以在没有任何问题的情况下在他们的手机上安装该应用程序。该应用程序在启动之前会突然关闭,并且在TestFlight上没有崩溃日志。
我可以连接任何测试者的手机到我的计算机上,并在它们上面运行该应用程序(使用Xcode),一切都很好。我认为这可能是Provisioning Profiles的问题,但是在我的手机上,我可以从设置应用程序中删除相关配置文件,然后从TestFlight链接安装该应用程序,它仍然能够正常运行。
根据我在Stack Overflow上读到的内容,这一定是由于应用程序的“Release”和“Debug”设置之间的某些差异造成的,但是我完全不知道如何调试它。我不能在连接到Xcode时以发布模式运行应用程序,也不能在未连接到Xcode时进行调试。
有什么建议吗?
更新-已解决
我最终“解决”了这个问题。SO用户Cliff Ribaudo遇到了同样的问题(显然他是唯一的其他人),他在这里发表了关于此问题的帖子,最终找到了解决方案。解决方案是设置两个链接器标志:STRIP LINKED PRODUCT = NOSTRIP STYLE = DEBUGGING SYMBOLS。我不知道为什么这样可以解决它,也不知道为什么一开始就出现问题。但自从我做了这些更改以来,我们就没有遇到过这种崩溃情况。

你确定他们能在手机上安装这个应用吗?如果权限有问题,TestFlight 可以下载应用但无法安装。 - Thorsten
是的,他们肯定可以安装这个应用程序,但它无法启动。 - Shinigami
您需要从受影响的用户那里获取崩溃报告,并使用Xcode符号化该报告。本答案展示了如何执行此操作:https://dev59.com/am855IYBdhLWcg3wnFtO#15962089 - Kerni
TestFlight上没有崩溃日志,这意味着应用程序从未完成启动。 - Shinigami
由于应用程序甚至没有启动,因此您当然不会在那里找到崩溃日志。您需要直接从设备上获取它们。我提供的链接解释了如何执行此操作。 - Kerni
终于拿到了测试设备。日志中没有任何信息。我试图让应用程序崩溃,但日志中仍然没有任何信息。该应用程序就是无法启动。没有崩溃日志。 - Shinigami
2个回答

1
感谢,Kerni。我通过跟踪崩溃报告找到了问题,并使用 iPhone Configuration Utility 选择了我正在调试的设备,在 iPhone Configuration Utility 上打开了 Console Tab,点击清除并检查。在再次让应用程序崩溃后保存日志,发现当我创建配置文件时没有将 In-App Audio 添加到 App ID 中。这是唯一的问题。重新按照所有步骤操作后,IPA 上传非常顺利。应用程序安装如预期般完成!
简而言之:
1. 使用 iPhone Configuration Utility 进行调试(问题是未在 App ID 生成中选择 In-App Audio)。 2. 生成新的 App ID 和配置文件。 3. 创建并上传新的 IPA。

<<<< 在控制台进行调试 >>>>: http://help.testflightapp.com/customer/portal/articles/1305502-my-apps-are-failing-to-install-what-do-i-do-


0

有趣的是,OCMock 是导致你出现问题的原因。对我来说,崩溃日志会说一些关于“XCTest.framework”无法找到的神秘话语(它不应该被找到……它没有包含在 ad-hoc 构建中),但是不会有堆栈跟踪,这让我觉得应用程序代码从未执行过。无论如何,我已经更新了这篇文章,提到了我是如何解决这个问题的。 - Shinigami

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接