MKMapKitViewControlMBS and Mac App Store's Entitlement

I’m currently using Christian’s MKMapKitViewControlMBS within my app for the App Store and I believe I’ve got the entitlement set up when I set up the necessary credentials at developer.apple.com

However, I keep getting this rejection from the Mac App Store review team

[quote]Please run your app on a device to identify the issue(s), then revise and resubmit your app for review.

Performance - 2.4.5

We found that your app incorrectly implements sandboxing.

Specifically, we found that your app provides the following functionality but is missing the associated entitlement:

  • functionality: Maps
  • required entitlement: “com.apple.developer.maps”[/quote]

I can’t seems to add the entitlement anywhere else.

Thanks. I am kind of lost here.

Select the iOS target and click the Advanced tab in the inspector. You need to select Maps there too.

Greg, Thanks. This is for the Mac App not iOS.

I added the entitlement and when I tried to submit to the App Store via Application Loader, I got the following error

Apple just replied with this

The Member Center is enabled.

My Entitlements did include

[quote]com.apple.developer.maps
[/quote]

Downloaded and added the ProvisioningProfile file inside the bundle and App Loader stop complaining.

However, now I got the following rejection

[quote]Performance - 2.1

The app contains the Maps entitlement but does not link against the MapKit framework.

If you do not intend to use Maps functionality, please remove the Maps entitlement, otherwise, if you intend to use Maps functionality, please link against the MapKit Framework and submit an updated binary.

For information on MapKit, please refer to the Location and Maps Programming Guide.

This review was conducted on an iMac running OS X 10.11.6[/quote]

I suspect that the MKMapViewMBS uses Soft Declare but may not be seen as being linked at the offset by Apple’s team.

Any way around this ? Thanks.

[code]Sub ReferenceMapKit()
// just put this in window or app class

#if TargetMachO and Target64Bit then
Declare sub testing Lib “MapKit” Selector “test” (id as ptr)
testing(nil)
#endif

End Sub[/code]

Just have this method somewhere and your app will link to MapKit.

[quote=286267:@jean-paul devulder]hi,

inside which directory ?

thanks,[/quote]

The provisioningprofile file goes into the same folder as info.plist. You will have to renamed it as embedded.provisioningprofile