libGDX iOS主页按钮杀死游戏

libGDX iOS主页按钮杀死游戏,ios,libgdx,Ios,Libgdx,我正在为Android和iOS开发一款libGDX游戏(MobiDevelop的RoboVM fork)。安卓系统工作得很好,但我在iOS上遇到了一个问题。当按下iPhone home(iPhone主页)按钮离开游戏时,我通过点击图标再次启动游戏,游戏不会从暂停的位置继续,而是重新启动,这意味着将显示加载屏幕,所有资源都将重新加载,并显示主菜单。就像是应用程序的全新开始。我在libgdx项目中没有针对iOS模块的任何特定配置,我使用的是预生成的配置 可以告诉iOS我不想终止进程吗?我只想切换到暂

我正在为Android和iOS开发一款libGDX游戏(MobiDevelop的RoboVM fork)。安卓系统工作得很好,但我在iOS上遇到了一个问题。当按下iPhone home(iPhone主页)按钮离开游戏时,我通过点击图标再次启动游戏,游戏不会从暂停的位置继续,而是重新启动,这意味着将显示加载屏幕,所有资源都将重新加载,并显示主菜单。就像是应用程序的全新开始。我在libgdx项目中没有针对iOS模块的任何特定配置,我使用的是预生成的配置


可以告诉iOS我不想终止进程吗?我只想切换到暂停/睡眠模式

虽然我对libGDX完全不熟悉,但我可以告诉你,除了一些非常特殊的情况(VOIP等),当按下home按钮时,你无法控制iOS对你的应用程序的操作


此外,开发人员有责任在应用程序离开前台时保存应用程序的状态,因为这不是或不能以性能方式自动处理的事情

我找到了这个问题的原因。我在真正的设备上测试了它,因此我无法看到日志。当我切换到模拟器并查看日志时,我发现一个NullPointerException。这是应用程序崩溃的原因之一。当我修复这个bug时,一切都按照我的预期进行。按下iPhone home按钮后,会调用com.badlogic.gdx.Screen的pause()方法,重新运行游戏后,它会从停止/暂停的确切位置继续


我学到了一个教训:首先在模拟器上进行测试:-)

你也可以看到设备的控制台。如果从RoboVM插件运行,游戏的控制台将显示在运行选项卡中。要随时查看设备的控制台,请打开Xcode,转到窗口->设备,选择连接的设备并单击打开控制台按钮