【发布时间】:2017-12-17 23:01:42
【问题描述】:
我只是想知道将 Unity 项目实施到现有的 Swift 3 iOS 项目中的最佳策略可能是什么。到目前为止,我只在 Objective-C 中发现了示例代码。有没有流行的框架或包装器?
【问题讨论】:
标签: ios swift unity3d swift3 integration
我只是想知道将 Unity 项目实施到现有的 Swift 3 iOS 项目中的最佳策略可能是什么。到目前为止,我只在 Objective-C 中发现了示例代码。有没有流行的框架或包装器?
【问题讨论】:
标签: ios swift unity3d swift3 integration
在我看来,本指南非常有帮助:
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、基金会、iAd、 libiconv.2.tdb,MediaPlayer,MediaToolBox,(这是缺少的) OpenAL、OpenGLES、QuartzCore、安全、系统配置、UIKit、 libiPhone-lib.a、libVuforia.a*、libVuforiaUnityPlayer.a*
*仅当您在场景中使用 Vuforia 时
最后也是最重要的一步是遵循以下拉取请求中列出的建议,然后它将完美地与 Swift 3 一起运行:
https://github.com/blitzagency/ios-unity5/pull/42
合并来自其他分支的当前演变(如 swift 3 支持), 更新为与 Unity 5.5.2、Xcode 8.3.2 和 Swift 3.1 一起使用,已删除 一些像 main.swift 这样的样板文件增加了暂停统一的可能性 充分利用减少的 cpu cylces 和电池 消耗,当统一没有运行时(活动)
如果你使用 Cocoa Pods,最好不要使用这个 repo 提供的配置文件。我实际上最终手动操作了所有构建设置,因此不会与 pod 配置文件冲突。
希望能帮到你一点。
愉快的编码
【讨论】:
已接受答案中提到的教程是将 Unity 集成到 Swift 项目的良好分步指南。
但是,Swift 4 和 Unity 2017.1 需要进行一些更改。这是demo project,以防有人需要。
【讨论】: