Mac App Store submission fails for the app that uses desktop libraries

IvanIcinIvanIcin USMember ✭✭

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

Tagged:

Posts

  • ChrisHamonsChrisHamons USXamarin Team Xamurai

    Here is where we are:

    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
    <TargetFrameworkIdentifier>Xamarin.Mac</TargetFrameworkIdentifier>
    

    So you are using Xamarin.Mac Mobile.

    <LinkMode>None</LinkMode>
    

    With linking disabled.

    <MonoBundlingExtraArgs>--registrar:dynamic</MonoBundlingExtraArgs>
    

    And the registrar set to dynamic.

    I expect that combination to work at first glance.

    Let's check a few things:

    • Can you post your full build log (Message to me directly if you have privacy concerns for some reason)
    • Can you post your Xamarin Studio (or Visual Studio for Mac -> About -> Show Details so we can see what versions of software you are using.
  • IvanIcinIvanIcin USMember ✭✭

    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

  • ChrisHamonsChrisHamons USXamarin Team Xamurai

    From the log that was PMed:

    IsAppExtension: True

    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).

  • IvanIcinIvanIcin USMember ✭✭
    edited May 2017

    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...

  • ChrisHamonsChrisHamons USXamarin Team Xamurai

    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.

  • IvanIcinIvanIcin USMember ✭✭
    edited May 2017

    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...

  • ChrisHamonsChrisHamons USXamarin Team Xamurai

    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).

  • IvanIcinIvanIcin USMember ✭✭

    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.

  • ChrisHamonsChrisHamons USXamarin Team Xamurai

    Once I land the fix in master, we can have you test it and go from there.

Sign In or Register to comment.