如何在需要重启时重启或退出/崩溃.NET应用程序(Unity3D游戏)? (机器人/ iOS的)

时间:2018-04-23 10:38:35

标签: c# unity3d mobile

用户从其他帐户迁移游戏数据后,当前游戏状态无效,游戏应重新启动。但是,Unity的官方Application.Quit API在iOS上不起作用(至少,它在我上次尝试时不起作用)。我可以阻止屏幕上的输入,这样用户在退出/重新启动之前无法进展,但这对用户来说是不友好的。有些移动用户甚至不知道如何退出应用程序!因此,最好显示礼貌消息,然后重新启动,或退出或崩溃应用程序。

我尝试过的事情:

System.Diagnostics.Process.GetCurrentProcess().Kill();

以上适用于某些手机,但在其他手机上它只会导致游戏挂起。

System.Environment.FailFast("Please restart <game>");

在我的手机上,不支持FailFast。我不记得它是否挂了,但它肯定没有关闭。

无限递归:我希望看门狗线程会杀死应用程序,但没有这样的运气。它挂了。

我可以卸载主程序集吗?我可以分配内存,直到操作系统杀死应用程序,但这将是非常不礼貌的,考虑到其他应用程序也将从内存中清除。

我目前的计划是使用Application.Quit()后跟GetCurrentProcess().Kill(),并在几个不同的设备上进行测试,希望如果第一个API调用不起作用,第二个将会。对Android和iOS使用单独的单独本机调用似乎有些过分,但这肯定会有效。

0 个答案:

没有答案