ios - 在没有 Mac OS 的情况下绑定(bind) Swift 库以在 Xamarin 中使用,这可能吗?

标签 ios swift xcode binding xamarin.ios

我以前没有使用过 Xamarin,我有原生开发背景。

我对绑定(bind)用 Swift 编写的 native iOS 库以便在 Xamarin 项目中使用它的可行性有疑问。这可能吗?更重要的是,是否可以在不访问 Mac OS 计算机的情况下做到这一点?

作为附带问题,Objective-C 库绑定(bind)是否可以在没有 Mac OS 的情况下使用?

最佳答案

做全流程:没有。

您可以从 Visual Studio 中创建一个 Xamarin 绑定(bind)项目,但是您需要很多依赖项,您只能通过访问 macOS 才能获得这些依赖项。

1 - 如果您没有已编译的 fat 库,您将需要一个 macOS 来使用 Xcode 构建并使用 Lipo 创建 fat 库。

2 - 假设您已经拥有它,您将需要创建 ApiDefinition.cs,为此您可以使用 Objective Sharpie (仅限 macOS)。您可以通过手动创建它来绕过它,但除非您绑定(bind)一个非常小的库 - 只是为了证明这一点 - 你不会想这样做。

这两个适用于任何 Xamarin.iOS 绑定(bind),因为它与 Objective-C Bindings 的过程相同

3 - 对于 Swift 绑定(bind),您还需要在 IPA 文件中的 SwiftSupport 文件夹中包含所有 Swift 依赖项。在发布应用程序之前需要执行此步骤,而不是创建绑定(bind) - 我只尝试使用 shell 脚本这样做。但对于这种情况,您还需要 macOS 才能将应用发布到 App Store。

所以只是为了证明这一点:也许吧。

关于ios - 在没有 Mac OS 的情况下绑定(bind) Swift 库以在 Xamarin 中使用,这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40715288/

相关文章:

ios - 在 Swift 2 中模糊使用 'kGMSMarkerAnimationPop' 错误

ios - 快速改变图层颜色

ios - UIButton 层样式使应用程序变慢

ios - 核心数据 - 具有目标规范的共享模型?

ios - iOS 中的静态/固定导航栏

ios - 停止上传空白应用程序到商店,上传完整应用程序到 testflight?

ios - 如何在 Objective-C 类中分配 Swift 类中定义的静态对象?

IOS自适应布局使用Autolayout

android - KIVY - Python 在按下按钮时继续执行

iphone - 如何使用SpringBoard-Class.h中的函数?