我只是想知道将 Unity 项目实现到现有的 Swift 3 iOS 项目中的最佳策略是什么。到目前为止,我只发现了 Objective-C 中的示例代码。那里有任何流行的框架或包装器吗?
请您参考如下方法:
在我看来,本指南非常有用:
https://github.com/blitzagency/ios-unity5
请注意这里有一些陷阱:
首先,我有几个链接器错误,但我没有考虑到 Unity 项目配置仅为“真实设备”设置。当我尝试在模拟器上构建项目时,出现了 100 多个编译器错误。
然后我尝试在我的测试设备上构建它,但仍然存在一些错误,直到我注意到我必须添加一些必要的框架,这些框架就列在那里:
https://github.com/blitzagency/ios-unity5/issues/36#issuecomment-303716827
AssetsLibrary, AudioToolbox, AVFoundation, CFNetwork, CoreGraphics, CoreLocation, CoreMedia, CoreMotion, CoreVideo, Foundation, iAd, libiconv.2.tdb, MediaPlayer, MediaToolBox, (this was the missing one) OpenAL, OpenGLES, QuartzCore, Security, SystemConfiguration, UIKit, libiPhone-lib.a, libVuforia.a*, libVuforiaUnityPlayer.a*
*only if you use Vuforia in your scene
最后也是最重要的一步是遵循以下拉取请求中列出的建议,然后它将与 Swift 3 完美运行:
https://github.com/blitzagency/ios-unity5/pull/42
merged current evolutions from other forks (like swift 3 support), updated to work with Unity 5.5.2, Xcode 8.3.2 and Swift 3.1, removed some boilerplate like main.swift added possibility to pause unity to take full advantage of reduced cpu cylces and therefore battery consumption, when unity is not running (active)
如果你使用 Cocoa Pods,最好不要使用这个 repo 提供的配置文件。实际上,我最终手动操作了所有build设置,因此不会与 pod 配置文件发生冲突。
希望能帮到你一点点。
快乐编码