0

我有一个统一的应用程序和我自己的 SDK。

  • 如果没有我的 SDK,该应用程序将以 Unity 的构建播放器设置中指定的横向模式运行。
  • 使用我的 SDK,即使在 Unity 的构建播放器设置中仅指定了横向模式,应用程序也会进入纵向和横向模式。

生成的 XCode 项目在其 AppController.mm 文件中有方向代码。在那里调整代码并没有限制旋转。

这是怎么发生的? 生成的 XCode 项目的代码——尤其是 AppController.mm——难道不是方向的最终决定者吗?我的 SDK 是否会覆盖 Unity 的所有其他设置,甚至是 Unity 生成的项目中的设置?

4

1 回答 1

0

在 Reddit 上有关于这个主题的精彩讨论。

http://www.reddit.com/r/Unity3D/comments/1dghry/adding_an_ios_sdk_through_post_process_build/

Unity 最终被 Xcode 和 iOS 彻底颠覆,包括 SDK。最有趣的是,即使设备进入另一个方向,Unity 仍然认为它会保持旋转。这是通过放置显示项目方向的调试语句发现的:尽管设备上有实际方向,但它报告了 LandscapeRight。

这意味着 SDK 和 Objective-C 代码是必须进行方向调整的地方。

这是怎么发生的?

iOS/XCode 代码和设置接管。团结在黑暗中。

生成的 Xcode 项目的代码不会是方向的最终决定者吗?

是和不是。SDK 与 Unity 生成的代码冲突,SDK 胜出。任何决定方向的更改都必须在 XCode 端进行。

我的 SDK 是否会覆盖 Unity 的所有其他设置,甚至是 Unity 生成的项目中的设置?

Unity 继续保留它可以保留的设置,并且——据它所知——它正在正确地这样做。SDK 的设置最终在实践中使用,超出了 Unity 生成代码的范围。

于 2013-05-02T19:00:21.313 回答