将Swift集成到导出的Unity项目中而不是使用Objective C?

时间:2015-08-17 23:10:57

标签: ios objective-c swift unity3d

我目前正在启动一个iOS项目,我想使用Unity作为项目的主要驱动器。目前,当您将Unity导出为导出项目时,我只获得了Objective-C。

  

如何主要使用Swift制作基于Unity的项目?

这看起来非常复杂,因为Objective-C可以在顶级开发,而且大部分Unity都涉及顶层,我如何在这个项目中使用Swift?我打算在Objective C中使用大部分Unity,在Swift上使用大部分前端GUI。

1 个答案:

答案 0 :(得分:9)

经过几天的努力,这是有可能的。主要的缺陷当然是Objective-C和Swift之间的链接和编译过程如何进行交互:

  1. 在Swift中创建AppDelegate,继承UnityAppController并使用startUnity而不是Application(..)
  2. 使用Unity生成的main.mm和桥接头
  3. 在Swift和ObjectiveC之间架起桥梁
  4. 创建一个Objective-C包装器,其唯一职责是在Swift项目和Unity项目之间进行通信
  5. 如下所示:https://apollowprogrammingblog.wordpress.com/2015/08/17/how-the-heck-do-you-integrate-swift-and-unity/

    更新2016年7月11日:还有另一个指南,我从那时开始使用我的应用程序开发:https://github.com/blitzagency/ios-unity5。这是一种不同的方法,并且由于易于配置的unity.xcconfig(以解决大多数项目配置难题)而在很大程度上更易于维护