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

FBe*_*nte 6 integration unity-game-engine ios swift swift3

我只是想知道在已经存在的Swift 3 iOS项目中实现Unity项目的最佳策略是什么.到目前为止,我只在Objective-C中发现了示例代码.那里有流行的框架或包装吗?

Obj*_*e D 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时

最后也是最重要的一步是遵循以下pull请求中列出的建议,然后使用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配置文件冲突.

我希望我能帮到你一点点.

快乐的编码


jiu*_*ngw 7

在接受的答案中提到的教程是将Unity集成到Swift项目的一个很好的分步指南.

但是,Swift 4和Unity 2017.1需要进行一些更改.这是一个演示项目,以防有人需要它.