我正在尝试将应用从32位应用转换为64位。我遇到过TestFlight beta测试人员的问题'应用程序启动屏幕显示片刻,然后显示黑屏,应用程序关闭。应用程序启动屏幕显示片刻,然后显示黑屏,应用程序关闭。应用程序启动屏幕显示片刻,然后显示黑屏,应用程序关闭。
如果我让用户重新使用32位版本,他们就不会遇到任何问题,他们的用户默认设置和核心数据也完好无损。
不仅没有记录崩溃,而且当从XCode运行应用程序时,这个问题也不会发生。我已经能够通过从TestFlight下载旧版本的应用程序,加载旧的应用程序容器,然后升级到64位版本来复制该问题几次。我没有能够调试这个问题,因为我还没有能够在XCode中复制它。有什么想法吗?
答案 0 :(得分:1)
在构建设置下,尝试将调试的优化级别切换到与发布相同的设置,然后尝试重建以进行调试。
记得在发现问题时切换回来,使用发布类型设置进行开发非常令人沮丧。
答案 1 :(得分:1)
事实证明我使用的是32位iPod进行调试!我不知道为什么我之前没有检查过,但是使用了这个问题的代码:
Determine if iOS device is 32- or 64-bit
我发现我的iPod,我假设是64位,实际上是32位。所以它... ...
问题本身发生在应用程序启动期间,在MPMediaPlaylists与内部数据库同步时使用其持久性ID,这些ID似乎以32位与64位不同的方式处理或存储。