【问题标题】:Unload & quit Unity from an external iOS App从外部 iOS 应用程序卸载并退出 Unity
【发布时间】:2021-10-11 08:03:23
【问题描述】:

我在现有的 iOS 应用程序中使用“Unity 作为库”功能实现了一个 Unity 项目。当我按下一个按钮返回我现有的应用程序时,我想卸载并退出它。

我目前正在使用 UnityFramework 类的“unloadApplication”方法来卸载 Unity。但是,此方法不会完全退出 Unity 应用程序并返回到现有应用程序。执行后,包含游戏的 Unity 框架创建的 UIWindow 被冻结。然后我隐藏 UIWindow 并取消隐藏它再次打开 Unity。因为我想完全退出并重新启动 Unity,所以这不起作用。正如Unity documentation 中所述,UnityFramework 类还提供了一个“quitApplication:(int)exitCode”方法,但这会杀死 Unity 我现有的应用程序。

“quitApplication”方法描述说:

调用它来完全卸载 Unity 并接收回调到 Unity 退出时的 UnityFrameworkListener。 Unity 将释放所有 记忆。

注意:之后您将无法在同一进程中再次运行 Unity 这个电话。您可以在 AppController 上设置 quitHandler 以覆盖 默认进程终止。

有没有办法完全退出 Unity 应用程序,返回到我现有的应用程序并能够稍后再次启动 Unity?

【问题讨论】:

    标签: ios unity3d


    【解决方案1】:

    当使用“Unity 作为库”功能将 Unity 集成到您的原生 iOS 应用程序中时,您将无法完全终止 Unity 并返回到您的原生应用程序。

    正如Unity Documentation 关于将 Unity 集成到本机 iOS 应用程序中所述,您可以在 UnityFramework 实例上调用方法 - (void)unloadApplication; 以释放它占用的大部分内存,但不是全部其中。完成此操作后,您将能够再次运行 Unity。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-22
      • 2012-10-22
      • 1970-01-01
      • 2021-11-27
      • 1970-01-01
      • 1970-01-01
      • 2014-01-10
      • 1970-01-01
      相关资源
      最近更新 更多