我们正在使用TestFlight发送我们应用的飞行员。
应用程序的一部分正在崩溃,我们在重现崩溃方面遇到了很多麻烦。代码很简单。
事实证明,通过TestFlight获得应用程序的用户会遇到崩溃,而如果您构建应用程序并使用IDE安装它则不会崩溃!
任何人都有可能导致这种情况的想法?
有关解决方法的任何想法吗?我们不想停止使用TestFlight。
答案 0 :(得分:12)
确保在发布模式下构建应用程序,而不是在调试中。该应用程序可能只在发布时崩溃。
答案 1 :(得分:5)
我要尝试的第一件事是将崩溃堆栈跟踪映射到应用程序中的函数名称。这可能会对崩溃的性质产生有用的了解:
手动符号化: 只要您的构建具有调试信息,这将起作用。
在可执行文件(Payload / AppName.app / AppName)上运行以下命令:
otool -tv AppName.app | c ++ filt> listing.asm
等待上一步完成(可能需要一段时间)。生成的listing.asm文件将长达几兆字节。
当然,如果您能够进行符号化,则可以跳过此过程。
好运调试!
答案 2 :(得分:0)
我们遇到了类似的问题。我们的问题是静态库。当我们从头开始构建应用程序并进入testflight时,它崩溃但是从IDE却没有。崩溃是因为在进行构建时没有包含静态库,但是如果我直接连接iPad并使用XCode进行安装,则会包含静态库。
一个简单的测试将证明这一点: -
1。)而不是从IDE构建,创建.app文件,然后通过iTunes加载它,检查是否发生了崩溃。
我们通过手动创建.iPA来解决这个问题,即创建.app然后创建Payload文件夹并将.app与info.plist放在一起。
然后事情也开始在Testflight中起作用了。