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

标签 ios objective-c swift unity3d

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

How do I make a Unity based project using primarily Swift?

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

最佳答案

经过好几天的锤炼,这是可能的。主要的缺陷当然是 Objective-C 和 Swift 必须如何交互才能实现链接和编译过程:

  1. 在 Swift 中创建一个 AppDelegate,子类化 UnityAppController 并使用 startUnity 而不是 Application(..)
  2. 使用 Unity 生成的 main.mm 和桥接 header 在 Swift 和 ObjectiveC 之间架起桥梁
  3. 创建一个 Objective-C 包装器,其唯一职责是在 Swift 项目和 Unity 项目之间进行通信

如下: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(为了解决大多数项目配置难题),因此更易于维护

关于ios - 将 Swift 集成到导出的 Unity 项目中而不是使用 Objective C?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32061162/

相关文章:

ios - 无法在 swift 3 中显示表格 View ?

iphone - 检查字典中是否存在标签

ios - 不显示应用程序图标角标(Badge)

swift - 突然找不到 header 中的 header <module-includes> :1:9: note: in file included from <module-includes>:1: Xcode

ios - Rx swift : BehaviorRelay in place of Variable usage

ios - 找不到 Storyboard

ios - 变量的值在 observeSingleEvent 中没有改变

ios - 当用户手动关闭 react-native-ios 应用程序时如何运行一些代码?

iphone - 标签栏的隐藏显示空白(即使框架是全屏的)

ios - 类型 'UITableViewCell' 的值没有成员