xamarin / Essentials

Xamarin.Essentials is no longer supported. Migrate your apps to .NET MAUI, which includes Maui.Essentials.
https://aka.ms/xamarin-upgrade
Other
1.52k stars 505 forks source link

Even with MapDirectionsMode.None, Apple requires MKDirectionsApplicationSupportedModes Info.plist key to register as a routing app #497

Closed Riversoft closed 6 years ago

Riversoft commented 6 years ago

Bug report best practices: Submitting Issues

Description

Apple is requiring a routing app coverage file because it thinks my app is performing routing because my app (hidden from me) is using MKDirectionsApplicationSupportedModes.

Steps to Reproduce

  1. Upload any app that uses Maps, such as your example: Placemark placemark = new Placemark { CountryName = "United States", AdminArea = clientAddr.State, Thoroughfare = clientAddr.Addr1 + " " + clientAddr.Addr2, Locality = clientAddr.City, // city or town PostalCode = clientAddr.Zip }; var options = new MapsLaunchOptions { Name = clientAddr.Addr1, MapDirectionsMode = MapDirectionsMode.None }; await Maps.OpenAsync(placemark, options);

  2. Apple responds with

Missing routing app coverage file: You must upload a routing app coverage file in App Store Connect if you register as a routing app.

Missing MKDirectionsApplicationSupportedModes value: You must provide a valid entry in the MKDirectionsApplicationSupportedModes Info.plist key to register as a routing app.

  1. When contacting Apple, they replied with this:

Thank you for reaching out to us. The error you describe appears to be based on the app appearing to have an MKDirections element defined, which would require such a geoJSON file as described to work with the system’s Directions service setup. Your app is built off Xamarin, so if you cannot directly find any part of your app that might have been changed to cause the system to believe this is needed, your best bet would be to check with the Xamarin team, either if this is some larger bug on their end or if there is some settings change or the like that may have accidentally caused your app to be built as though it offered up directions support.

Expected Behavior

  1. Xamarin Essentials should tell user when using Maps this is needed and how to add MKDirectionsApplicationSupportedModes Info.plist key to register as a routing app.
  2. Xamarin Essentials should tell user how/where to create GeoJson file to submit to apple

Actual Behavior

User is unaware such dependencies are required.

Basic Information

Thank you for your help!

Screenshots

Reproduction Link

jamesmontemagno commented 6 years ago

You should not need this at all. Did you turn on "Maps" in Capabilities? This is not needed and would cause this issue. https://stackoverflow.com/questions/18183706/routing-app-coverage-file-missing-but-not-needed

At what point of the process did you receive this error message? I will try to reproduce here.

Riversoft commented 6 years ago

Thanks! I saw this link http://stackoverflow.com/questions/28259030/ios-app-submission-routing-app

which said:

In my info plist there was a document type name of MKDirectionsRequest. Removing that solved the problem.

So far so good, App is in Review

I appreciate your help and your swift response!

On 9/4/2018 11:59 AM, James Montemagno wrote:

You should not need this at all. Did you turn on "Maps" in Capabilities? This is not needed and would cause this issue. https://stackoverflow.com/questions/18183706/routing-app-coverage-file-missing-but-not-needed

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/xamarin/Essentials/issues/497#issuecomment-418423080, or mute the thread https://github.com/notifications/unsubscribe-auth/AIBucpFcigf9lHSD7giCv-E3VkkNuTVFks5uXqNegaJpZM4WWQJN.

-- Carole McCoy Sr Software Architect

RiverSoft, Inc. 1901 S Harbor City Blvd. Suite 710 Melbourne, FL 32901

321.914.0726

jamesmontemagno commented 6 years ago

Yup, i just tested out a quick app here and had not issues on my end. With File -> New adding code.

Is there a reason that you added the "Maps" in your capabilities? I just want to make sure our docs are correct.

Riversoft commented 6 years ago

I did not physically add it.  I did not even know it was there until I read that post.  I was surprised it was in the Documents dropdown, last place I would have looked.

My app used to use the Xam.Plugins.ExternalMaps, which may have added it?  Anyway, Apple is enforcing geojson file for routing apps.

After removing MKDirectionsRequest from the info.plist, the Enable Maps Integration was unchecked.

Sorry I cannot be more help. App is 4 years old, made minor upgrades and changed out multiple plugins for XamarinEssentials.

If XamarinEssentials user wants routing, I think documentation should indicate the requirements for Apple.

Thanks again, Carole

On 9/4/2018 12:37 PM, James Montemagno wrote:

Yup, i just tested out a quick app here and had not issues on my end. With File -> New adding code.

Is there a reason that you added the "Maps" in your capabilities? I just want to make sure our docs are correct.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/xamarin/Essentials/issues/497#issuecomment-418435833, or mute the thread https://github.com/notifications/unsubscribe-auth/AIBucr4cnNKVI05NCBDW7friS3U7aD9Kks5uXqxcgaJpZM4WWQJN.

-- Carole McCoy Sr Software Architect

RiverSoft, Inc. 1901 S Harbor City Blvd. Suite 710 Melbourne, FL 32901

321.914.0726

jamesmontemagno commented 6 years ago

So this plugin uses the same code at my ExternalMaps plugin. I am not sure how the MKDirectionsRequest was added into your info.plist as no plugin or nuget modifies that.

We just open a request for routing, not actual routing, so it is not needed at all. Apple Maps is the actual routing app not your actual app. Looks like removing this fixed it for you so should be good to close as I have also validated it here.

weihangChen commented 4 years ago

google search directs me here, maybe you guys can give me a hand? the error I am getting is ITMS-90117: Missing routing app coverage file: You must upload a routing app coverage file in App Store Connect if you register as a routing app.

My app is developed using Xamarin IOS, and it does indeed use the MapKit, so it is required to submit a x.geojson file. I have put out all the details on StackOverflow. The problem is that after submitting the x.geojson file, I still get the email saying ITMS-90117: Missing routing app coverage file: You must upload a routing app coverage file in App Store Connect if you register as a routing app.. Not sure what causes this problem, is that so, this geojson file needs also be included in the xamarin ios project? or it is just an issue at apple side.

davidtabor90 commented 4 years ago

@weihangChen I have same issue. Did you fix it?

weihangChen commented 4 years ago

fired one microsoft support ticket and two apple tickets. Microsoft is very kind digging into the code and found nothing wrong. One week has passed but Apple staff still did not figure out what is wrong, and the case is still open, when I got it solved, i will come back here to post answer. But initial guess is the file is not submitted to the correct server, so the code validator program cant find the x.geojson file.

Riversoft commented 4 years ago

I don't remember other than I had to uncheck something.  Look in Info.plist and uncheck all map integration - whether or not your app uses maps ( mine does and it did not need this).

Best, Carole

On 8/3/2020 2:43 AM, Marc Chen wrote:

fired one microsoft support ticket and two apple tickets. Microsoft is very kind digging into the code and found nothing wrong. One week has passed but Apple staff still did not figure out what is wrong, and the case is still open, when I got it solved, i will come back here to post answer. But initial guess is the file is not submitted to the correct server, so the code validator program cant find the x.geojson file.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/xamarin/Essentials/issues/497#issuecomment-667835648, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACAG44RONQBPPBGGMWUENYDR6ZL7NANCNFSM4FSZAJGQ.

-- Carole McCoy Sr Software Architect

RiverSoft, Inc. 1901 S Harbor City Blvd. Suite 710 Melbourne, FL 32901

321.914.0726

davidtabor90 commented 4 years ago

@Riversoft It's look good, waiting for review! I remove all map capabilities from info.plist. Thanks