在 Ionic 项目中使用 Swift 库
Posted
技术标签:
【中文标题】在 Ionic 项目中使用 Swift 库【英文标题】:Using Swift library in Ionic project 【发布时间】:2017-08-08 07:40:46 【问题描述】:我正在开发使用 BLE 连接自定义设备的新应用程序。我在 Swift 中编写了某种解析器,它可以获取字节数组(我从外围设备获取)并将其转换为对象。我在 ios 应用程序中使用这个对象来做一些 UI 更改。
将来我想添加对 android 的支持。
我将使用 Ionic 为 Android 和 iOS 制作可共享的 UI,但我的解析器有问题。我该怎么办:
-
是否可以在 iOS 和 Android 的 Ionic 中将 Swift 库用作第 3 个库?如何? (我的解析器没有使用iOS SDK,业务逻辑清晰)
我应该用 Java 编写解析器并同时使用 Swift 和 Java 吗?
还有其他方法可以重用我的解析器代码吗? C/C++?还有什么?
【问题讨论】:
与Kotlin
和Swift
相似,我会考虑为解析器维护它们。它们之间可能会有一些自动转换。
是的,但我需要保留两个版本的解析器
如果你用纯 C
编写解析器,那么创建 Swift 模型对象会有一些开销。如果您没有任何第 3 方库使用它,请远离 C++
。我确实相信将 Java
桥接到 Swift
以完成此类任务将是一种矫枉过正,我会选择更轻量级的东西,例如 Python
。
【参考方案1】:
如果您想在 iOS 和 Android 这两个平台上使用相同的解析器代码,则必须在应用程序的混合部分(使用 javascript 或 typescript)实现它。我不知道使用 Swift for Android 或 Java for iOS 的任何方式。有可能在 C 或 C++ 中创建解析器并将其编译成 .so lib 用于 android 和 .dylib 用于 iOS,但在 ionic/cordova 应用程序中这样做总是很痛苦,需要处理许多陷阱。
【讨论】:
以上是关于在 Ionic 项目中使用 Swift 库的主要内容,如果未能解决你的问题,请参考以下文章
在 Swift 或 Java android 项目中使用 Xamarin 库
Alamofire swift 库版本 4.4 未安装在 swift 3.0.2 项目中