ios - 用于蓝牙通信的 Unity iOS 插件 - Swift 或 Objective-C
问题描述
我想为 Unity 创建一个原生 iOS 插件,以使 iPhone 应用程序能够通过蓝牙进行通信并使用 Unity 显示接收到的数据。
从我目前的角度来看,我看到了两种方式:
创建一个 Swift 库:首选,因为我已经了解 Swift,但似乎我必须创建 Objective-C 桥接类才能访问 Unity 中的 Swift 方法。
学习 Objective-C 并创建一个 Objective-C 库
似乎无论如何都需要 Objective-C,但使用 Apple 推荐的编程语言 Swift 将是一种更新的方法。
目前哪种方式是最佳实践?
解决方案
Unity 只知道 Objective-C。因此,正如您所提到的,您需要用 Objective-C 或 Swift 编写并拥有某种桥梁。
由于蓝牙有很多样板代码,而且某种程度的复杂性和快速性要好得多,而且你已经知道了,我会先尝试桥接方法。Bridge-API 将很简单,不会随着时间的推移而发生太大变化。
有一些像unity-swift这样的项目可以帮助你入门。
即使在您开始使用蓝牙产品之前,您也会很快知道这是否适合您。
推荐阅读
- c# - 将 .Net Core (2.2) Web 应用程序移植到 .Net 标准 (2.1) 以在 Xamarin 项目中使用
- vb.net - 我无法更改我的财产的价值
- angular - 如何检查 Typescript 代码中的浏览器是否支持 PaymentRequest API
- javascript - 使用 componentWillRecieveProps 调用类组件的 api
- web-scraping - 此版本的 ChromeDriver 仅支持 Chrome 版本 78
- c++ - 错误 - “初始化”:无法从“glm::vec2”转换为“glm::vec3”
- python - 由于张量 ID,将 numpy 数组转换为张量时出现奇怪的错误
- python - 为 Python C 扩展实现单元测试
- arrays - System.Array.FindAll () 的问题
- reactjs - React 无法读取地图的属性