Is Xamarin Studio absolutely required to release Mono apps on the Mac App Store & MonoMacPackager obsolete?

1.1k views Asked by At

There was a time, not two years ago, when you could didn't need Xamarin.Mac to deploy Mono apps to the Mac App Store. To be clear, that's the store for Mac OS X desktop apps, not iOS apps.

Now the MonoMacPackager page says the following:

If you want to create self-contained Mac bundles or publish your software to the Mac AppStore, you should get Xamarin.Mac which is a strict superset of MonoMac.

I haven't seen a good tutorial of how to release to the Mac App Store since Xamarin.Mac came out. Is Xamarin.Mac now "required", so to speak, to release Mono apps on Mac that have UIs written in XCode/IB? Or is the "subset" which is MonoMac still enough to create these hybrid apps?

I realize I could write against GTK# or Windows.Forms and have users install Mono themselves -- or use bockbuild like Banshee still does and have things self-contained -- to create standalone apps. I'm interested instead in the ability to have Mono code interface with native UIs created in XCode and to release those apps on the Mac App Store.

I also realize there's a template for open source projects in Xamarin Studio now, which actually kind of scares me. It seems the full treatment has gone behind the Xamarin pay wall.

So, in other words, is the MonoMacPackager obsolete with respect to releasing Mono apps with native UIs that pass Mac App Store muster?

1

There are 1 answers

2
knocte On

The thing is, to be able to release into the Mac App Store, your app needs to be self-contained. Which means that you need to use mkbundle, which in turn means that the license of the Mono runtime would then contaminate everything. This license is LGPL.

If your app cannot legally bind to the requirements of the LGPL, then you need a Xamarin.Mac license.

Now, if you think your app can legally bind to the requirements of the LGPL, then the deal is a bit more tricky: are you sure that you can? Because many articles out there say that the theoretical restrictions of the ToS of the Mac App Store contradict GPL/LGPL licenses.

Some other people say that this conflict can be kind of circumvented... But I wouldn't try without the advice of a lawyer.

UPDATE: Turns out there's a difference in the way you use mkbundle, read more here. (And note: the Mac App Store has different restrictions than the iOS AppStore I think.)