Unity3d嵌入IOS原生,正常退出Unity3d
Application.Quit();
在Editor、Windows和Android中都能正常使用。
当嵌入到IOS原生中之后,Application.Quit();会让整个App都崩溃掉。
官方的说法是这样的:
调用此方法可完全卸载 Unity,并在 Unity 退出后接收对 UnityFrameworkListener 的回调。Unity 将释放所有内存。
注意:进行此调用后,您将无法在同一进程中再次运行 Unity。可在 AppController 上设置 quitHandler 以覆盖默认进程终止。
所以官方提供了一个卸载的方法:- (void)unloadApplication;
该方法:可卸载 Unity,并在卸载完成后接收对 UnityFrameworkListener 的回调。Unity 将释放占用的大部分内存,但不会全部释放。您将可以再次运行 Unity。
这是我在项目中遇到的问题,ios上层要频繁启动unity项目,查了资料才知道ios不能用Application.Quit();
来退出untiy。