Mac App rejected due to MapKit not being linked

RyanEames.8040RyanEames.8040 Ryan EamesUSMember

My app was rejected from the Mac App Store for the following reason:
2.3 - Apps that do not perform as advertised by the developer will be rejected

The app still has the MapKit entitlement without linking against the MapKit framework.

My application targets the 64 bit architecture, links to the Native MapKit, associates the CFBundleIdentifier in Info.plist to the one created with Apple with Maps permissions. I am using the latest Stable releases of Xamarin.

Any thoughts on why this would happen?

Posts

  • ChrisHamonsChrisHamons Chris Hamons USXamarin Team Xamurai

    So, there isn't much we can do without more information.

    • Does the applications MapKit related functionality work locally for you? With the associated sandboxing enabled?
    • A full build log would be useful. So would the relevant snippet from your Info.plist

    Since it is near Christmas, you may receive limited response on the forums for the next week or two. A number of people travel, or are otherwise not checking the forums.

  • MatthewHannonMatthewHannon Matthew Hannon USMember
    edited December 2015

    (removed)

  • RyanEames.8040RyanEames.8040 Ryan Eames USMember

    Chris,

    Thanks for the response.

    -MapKit works fine locally and on a guest account (pic attached)
    -Build log and Info.plist is attached as PDF

    Let me know what else you need.

  • RyanEames.8040RyanEames.8040 Ryan Eames USMember

    All,

    Any insights on how to rectify?

    Thanks

  • ChrisHamonsChrisHamons Chris Hamons USXamarin Team Xamurai

    The fact that the application works for you means we're obviously pulling in MapKit successfully.

    Maybe add "-framework MapKit" to you additional mmp arguments, rebuild, and resubmit it? I don't see how that would change behavior, but maybe it'd make Apple happy?

  • RogisterAlainRogisterAlain Rogister Alain BEBeta ✭✭✭

    Hi Chris,

    I posted my application Friday and it is rejected for the following reason:

    Your app contains the Maps entity, but it does not link against the MapKit framework.

    Next Steps

    If you would like to include Maps, please link against the MapKit framework and submit an updated binary.

    resources

    For information on Maps, please review the Location and Maps Programming Guide.

    I do not understand why ! I have posted 10 versions for 2 years and I have never had this problem. They first told me to add com.apple.developer.maps because I was using Maps and now it rejects with the above error.

    I rested this Saturday by adding in the compilation arguments:

    -framework MapKit

    But I still have today a refusal with the same problem.

    I recall that I compiled my application in AOT: full -linkallplatfom, I do not know if that can be the problem.

    What should I do ?

    Thank you

    Alain

  • ChrisHamonsChrisHamons Chris Hamons USXamarin Team Xamurai

    I've responded in the bug you've filed:

    https://bugzilla.xamarin.com/show_bug.cgi?id=59722

    requesting more information. You did not mention in the bug (but here) that you tried forcing the framework link.

    Did you use link_flags to do that? What does otool -L on your binary output?

  • RogisterAlainRogisterAlain Rogister Alain BEBeta ✭✭✭

    Hello,

    APPLE has enabled my application with this setting. --link_flags="-framework MapKit"

    So for those who use Maps in their application and use the Sandboxing, do not forget to put this parameter in the compilation options otherwise you will have a rejection by APPLE.

    Chris, is not it possible to add this automatically when compiling if we activated Maps in the info.plist ???

    Thank you

    Alain

  • ChrisHamonsChrisHamons Chris Hamons USXamarin Team Xamurai

    So I could see needing "-framework MapKit" if you are somehow using a MapView and not referencing a single MapKit API in your C#.

    Beyond that, I'm struggling to understand how you are in this position without a sample or more information.

  • RogisterAlainRogisterAlain Rogister Alain BEBeta ✭✭✭

    Chris,

    it is quite simple. From the beginning, I use MapKit in my application with the Sandbox.

    I don't know why but in the Entetilment file, I didn't put com.apple.developer.maps malgated that the activation of Maps was done. (Maybe I deleted it, I don't know).

    So for 1.5 years, I posted my app at APPLE like that and I never had a refusal.

    Here they first told me that I had to specify com.apple.developer.maps, which I did and then I had the problem you know. And so to solve, that, I did what you told me by putting in the compilation options the line requested.

    The question I asked myself is why do not systematically put this in the compilation options when we acitve Maps so that it is not rejected by APPLE and that other people have this problem because they do not know like me that they must put this compilation option for it not be rejected. This is a suggestion ...

    Alain

Sign In or Register to comment.