The message from the App Store is "Deprecated API Usage - Apple no longer accepts submissions of apps that use QuickTime or QTKit APIs." This seemed to be the case mentioned here https://forums.xamarin.com/discussion/91521/xamarin-mac-and-the-app-store, and I started the discussion there, but I realized that my case is different - it is not a ful XM4.5 app and setting of mmp arguments also doesn't help, so as suggested there by @ChrisHamons, I am starting the new thread.
After reading about this issue, I am pretty certain that the problem is in the fact that Microsoft.Azure.Mobile.Client and some other libraries don't support Mac directly and as suggested here in some other posts I have added them by referencing their .net 4.5 versions, setting linker to Don't link, and everything works fine before submitting to the Store. Unfortunately there I get the error above and I guess it is triggered because those libraries cause XM 4.5 to be activated or considered in some way, but those mmp arguments to set dynamic registrat somehow have no effect on that.
Here are the .csproj files for more info: https://pastebin.com/JtYDH71R https://pastebin.com/JtYDH71R
Posts
Here is where we are:
So you are using Xamarin.Mac Mobile.
With linking disabled.
And the registrar set to dynamic.
I expect that combination to work at first glance.
Let's check a few things:
Xamarin Studio:
Xamarin Studio Community
Version 6.3 (build 863)
Installation UUID: e62b0163-d538-4df4-9ad0-9d29116c47c5
Runtime:
Mono 4.8.1 (mono-4.8.0-branch/22a39d7) (64-bit)
GTK+ 2.24.23 (Raleigh theme)
Package version: 408010000
NuGet
Version: 3.5.0.0
Xamarin.Profiler
'/Applications/Xamarin Profiler.app' not found
Xamarin.Android
Version: 7.2.0.7 (Xamarin Studio Community)
Android SDK: /Users/ivanicin/Library/Developer/Xamarin/android-sdk-macosx
Supported Android versions:
4.0.3 (API level 15)
4.4 (API level 19)
6.0 (API level 23)
SDK Tools Version: 24.4.1
SDK Platform Tools Version: 23.0.1
SDK Build Tools Version: 23.0.1
Java SDK: /usr
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL
Apple Developer Tools
Xcode 8.3.2 (12175)
Build 8E2002
Xamarin.Mac
Version: 3.2.0.175 (Xamarin Studio Community)
Xamarin.iOS
Version: 10.8.0.175 (Xamarin Studio Community)
Hash: a04678c2
Branch: d15-1
Build date: 2017-03-28 14:05:38-0400
Xamarin Inspector
Not Installed
Build Information
Release ID: 603000863
Git revision: a2163670efe259c85cd8f335d95b175068fbbe2a
Build date: 2017-04-03 14:33:15-04
Xamarin addins: 2045d688ea1420e0381b473360ca62a763eb7d04
Build lane: monodevelop-lion-d15-1
Operating System
Mac OS X 10.12.4
Darwin MacMini.local 16.5.0 Darwin Kernel Version 16.5.0
Fri Mar 3 16:52:33 PST 2017
root:xnu-3789.51.2~3/RELEASE_X86_64 x86_64
From the log that was PMed:
You have an extension building.
I did not consider that. Extensions currently force the static registrar and disable the linker due to a limitation:
https://bugzilla.xamarin.com/show_bug.cgi?id=43197
I don't believe you'll be able to submit an extension to the app store until we fix either that.
I'll take a look tomorrow to see how difficult it will be to fix (previous to this report it was not known to be a blocker).
I might disable the extension if there is no other solution, but as far as I remember is that I have tried that and it didn't help. I'll try it again to ensure it's right, just my internet provider has some problems connecting to Apple's servers for app upload and it takes a long time and even multiple trials to upload so I it might take some time till I get back the result...
You may need to remove the extension from the project completely (and the reference).
You'd be looking for IsAppExtension: True to not show up in your build log.
It seemed that I haven't removed it properly the last time I have tried that. It works now. The good thing is that this is the first version of the app for Mac so I can submit without the extension and update later, otherwise it wouldn't be smart to remove a feature if people already have used it...
So digging into this, I found a regression in extension support in 3.4 (and master).
After fixing that, it appears that removing the linking/static registrar restriction was trivial.
https://github.com/xamarin/xamarin-macios/pull/2088
I understand that does not fix your current problem. If not being able to ship a project with extensions is critical, I can look at backporting it to a stable release after it lands (else you can wait for 3.6 to ship).
Thanks Chris, you are really great. Currently I have submitted the app to Apple without the extension, it is in review now (and that is the status for almost 24 hours which is interesting!).
I wouldn't say that the extension is critical for the app though I would say it is important - when the app has appeared first three years ago it was called Share to Speech, at that point it was a central feature of the app and it is still an important feature that ads a lot of value.
Once I land the fix in master, we can have you test it and go from there.