【问题标题】:Binding a Swift library to use in Xamarin, without Mac OS, is it possible?在没有 Mac OS 的情况下绑定 Swift 库以在 Xamarin 中使用,这可能吗?
【发布时间】:2017-04-04 13:26:17
【问题描述】:

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

我有一个关于绑定用 Swift 编写的本机 iOS 库以便在 Xamarin 项目中使用它的可行性的问题。这可能吗?更重要的是,是否可以在没有任何 Mac OS 计算机访问权限的情况下做到这一点?

作为一个附带问题,Objective-C 库绑定是否可以在没有 Mac OS 的情况下进行?

【问题讨论】:

  • 据我所知,要构建 iOS 目标,您需要一台 Mac。
  • @Paulw11 我知道要构建应用程序,我需要一台 Mac(这可以使用远程服务器上的构建主机来完成,不是吗?)。我对库的绑定更好奇,因为那将是更复杂的部分(尤其是如果我只能访问 Mac OS 构建主机)。

标签: ios swift xcode binding xamarin.ios


【解决方案1】:

要做整个过程:没有。

您可以在 Visual Studio 中创建 Xamarin Binding 项目,但您需要很多依赖项,只有通过访问 macOS 才能获得这些依赖项。

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

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

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

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

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

【讨论】:

  • 这是一个有见地的贡献!它应该有更多的赞成票
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-22
  • 2012-10-08
  • 1970-01-01
  • 2020-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多