我以前没有使用过 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/