如何将Unity集成到Swift 3 iOS项目中

6

我想知道将Unity项目添加到已有的Swift 3 iOS项目中的最佳策略是什么。目前我只发现了Objective-C的示例代码。是否有任何流行的框架或包装器可用?

2个回答

8

我认为这份指南非常有用:

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、(这是缺失的) OpenAL、OpenGLES、QuartzCore、Security、SystemConfiguration、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),添加了暂停Unity的可能性,以充分利用降低的CPU周期和因此减少的电池消耗,当Unity未运行时(活动)

如果您使用Cocoa Pods,则最好不要使用此存储库提供的配置文件。实际上,我最终手动操纵了所有构建设置,以便与Pod配置文件没有冲突。

希望我能为您提供一些帮助。

愉快的编码!


7

采纳答案中提到的教程是将Unity集成到Swift项目的逐步指南。

然而,对于Swift 4和Unity 2017.1,需要进行一些更改。如果有人需要,这里有一个演示项目


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接