我正在开发一个iOS应用程序。
我已经把它和我在应用程序中使用的其他目标(框架)放在一个工作区中。我可以很好地运行该应用程序,但一旦双击“主页”按钮并将其完全关闭,我就无法再次运行它。
我点击图标,有时它会启动应用程序然后立即退出,有时它只是不打开它。
有没有办法解决这个问题,或者找出导致这个问题的原因?
PD:我之所以这么做是为了测试从本地通知重新打开应用程序是否加载了已打开通知的正确数据。尝试通过点击通知打开也不起作用。
调试器或控制台都没有输出任何内容。
最佳答案
当您在项目中使用的框架不是为在模拟器中正常工作而定制的时,就会发生这种情况。基本上,iOS模拟器使用i383
(32位)和x86_64
体系结构,而不是实际设备使用的arm
和arm64
体系结构。出于某种原因,当您创建一个框架时,Xcode不会将其设置为在退出应用程序后保留编译的i386
/x86_64
体系结构代码。但是,它将保留编译后的arm
/arm64
代码,因此您可以确保应用程序在实际设备上正常运行。
当我需要测试依赖于退出和重新启动的功能时,我个人通过使用真实设备来解决这个问题,但是有一些方法可以在您的框架上编写自定义构建方案来完全支持模拟器。不过,我不会在这里加上一个链接,因为具体的解决方案非常多样化,我自己也没有测试过任何一个。