4

有一段时间,不是两年前,您可能不需要 Xamarin.Mac 将 Mono 应用程序部署到 Mac App Store。需要明确的是,这是 Mac OS X 桌面应用程序的商店,而不是 iOS 应用程序。

现在 MonoMacPackager 页面显示以下内容

如果您想创建自包含的 Mac 捆绑包或将您的软件发布到 Mac AppStore,您应该获得 Xamarin.Mac,它是 MonoMac 的严格超集。

自从 Xamarin.Mac 出现以来,我还没有看到关于如何发布到 Mac App Store 的好教程。可以说,Xamarin.Mac 现在是否“需要”在 Mac 上发布具有用 XCode/IB 编写的 UI 的 Mono 应用程序?还是 MonoMac 的“子集”仍然足以创建这些混合应用程序?

我意识到我可以针对 GTK# 或 Windows.Forms 编写代码并让用户自己安装 Mono——或者像 Banshee 一样使用bockbuild并拥有独立的东西——来创建独立的应用程序。相反,我感兴趣的是能够让 Mono 代码接口与在 XCode 中创建的本机 UI 并在 Mac App Store 上发布这些应用程序。

我也意识到现在 Xamarin Studio 中有一个用于开源项目的模板,这实际上让我有点害怕。似乎全面的治疗已经落后于 Xamarin 付费墙。

那么,换句话说,MonoMacPackager 在发布具有通过 Mac App Store 要求的原生 UI 的 Mono 应用程序方面是否已经过时?

4

1 回答 1

5

问题是,为了能够发布到 Mac App Store,您的应用程序需要是独立的。这意味着您需要使用mkbundle,这反过来又意味着 Mono 运行时的许可证会污染一切。该许可证是 LGPL。

如果您的应用程序无法合法地绑定到 LGPL 的要求,那么您需要 Xamarin.Mac 许可证。

现在,如果您认为您的应用程序可以合法地满足 LGPL 的要求,那么交易就有点棘手了:您确定可以吗?因为那里的许多文章都说 Mac App Store 的 ToS 的理论限制与 GPL/LGPL 许可证相矛盾。

其他一些人说这种冲突可以被规避......但如果没有律师的建议,我不会尝试。

更新:原来您使用 mkbundle 的方式有所不同,请在此处阅读更多内容。(注意:Mac App Store 的限制与我认为的 iOS AppStore 不同。)

于 2013-12-09T11:00:55.387 回答