IOS App Submission Routing App - ios

I am trying to submit my app for review in Itunes Connect, but when I try to submit it I get an error:
To configure this app as an IOS routing app, upload a routing app
coverage file on the app's Version page in My Apps on iTunes Connect.
To configure your app as an IOS routing app, the app's Info.plist must
contain the MKDirectionsApplicationSupportedModes key.
So in my project, in the Capabilities, the Maps is turned off. I do have the MapKit.framework in my project, as I do utilize the map, however I do not ever show routing information nor provide it in my app. Is the fact that this framework in my project causing this ITunes Connect error, and if so, how do I go about fixing it. And by fixing it, I want it to turn off routing.
My app is not made to provide routing information, nor do I want to set it as an iOS routing app.
Any help would be appreciated.
I am using XCode 6.

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

From the apple docs
(To use the features of the Map Kit framework, you must turn on the
Maps capability in your Xcode project.)
above the entire paragraph.(https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/LocationAwarenessPG/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009497)
Location-based information consists of two pieces: location services
and maps. Location services are provided by the Core Location
framework, which defines Objective-C interfaces for obtaining
information about the user’s location and heading (the direction in
which a device is pointing). Maps are provided by the Map Kit
framework, which supports both the display and annotation of maps
similar to those found in the Maps app. (To use the features of the
Map Kit framework, you must turn on the Maps capability in your Xcode
project.) Location services and maps are available on both iOS and OS
X.
Not sure but maybe you only need to turn on mapkit

In my info.plist I had to delete two entries:
1) the document you referenced above - MKDirectionsRequest
and
2) MKDirectionsApplicationSupportedModes - MKDirectionsModeCar which is called "Maps routing app supported modes"

I just faced this exact issue last week.
I had accidentally turned on Map capabilities and turned it off later. Like your case, this didn't fix the issue.
I believe what fixed it was removing MapKit from here.
I was trying other things at the time so try this and if this isn't it then I'll see if something else I changed fix this.

Related

Firebase Dynamic Links for iOS work for my device and simulators, but do not work for users after release

So I have implemented Firebase Dynamic Links in my app. I thought that I had them set up correctly, because they work for my own personal device and the simulators perfectly. I released the update to the app, but when two of my friends tried to open them after updating to the new version, it takes them to the Firebase website citing an error. I click the same link and it opens my app and handles the link.
Firebase has added the apple app site association to my domain prefix, I have added the a--link in my app's capabilities, I am truly at a loss as to why this may be. Even if they click the link from notes, it does not give them the option to open the link with my app like it will for me.
Is there anything that I could be overlooking? Happy to supply any relevant details but I feel like I have to be missing something.
App Links:
applinks:share.***.app
URL Type is set up in Target Info.
Custom Dynamic Domain is set in info.plist.
For others that come across this, it seems to be an open Apple bug: http://www.openradar.me/radar?id=4999496467480576
After several days, the user's apps downloaded the proper AASA and the deep links began to work. There doesn't seem to be a workaround with Google Dynamic Links, but Branch.io offers forced URI redirect mode to avoid this issue.

Google Map don't load in iOS

I’m using GoogleMaps pod in my iOS application and it was working fine, but in my last build, apple reject my application. And the reason behind that is, the map was unable to load at the time of review on iPad running iOS 12.2 on Wi-Fi.
I did try to reproduce that bug on my device but I couldn’t.
Application do ask for location permission
Google Place API key also seems ok.
Is there any way to identify what the actual issue is and how I am supposed to solve this one?
Finally, I've solved that issue and for that, I've done some of the changes in my project.
1 - I've patched the latest Google Plist file in the project (I wasn't sure whether the old one was latest or not)
2 - I was using multi language in my project so before setting the delegate of google map, I've set the language for my project.
3 - instead of set the google map from Storyboard, I've set the google map programmatically in my view controller after setting language.
After surfing for so long to solve this issue, I came to know that this issue occurs when your App supports multi language. These some steps did work for me.

iOS - How To Know If I Need A Routing App Coverage File

I tried to submit an app to the Apple App Store on iTunes Connect and I got this error message:
"To configure this app as an iOS routing app, upload a routing app coverage file on the app's Version page in My Apps on iTunes Connect."
My app uses MapKit to show the locations of various monuments in the user's city, and to provide directions on how to get to them. I Googled this error and interestingly most people that have answered it seem to be saying that the file is actually not needed, but I'm not sure if that applies to the features my app offers.
How do I know if I actually need a routing coverage file? And if I do need one, can I make it cover the whole globe (i.e. the app should work anywhere in the world)?
The answer was to turn off MapKit altogether, eg. to uncheck it in the project capabilities tab. MapKit only needs to be turned on for "routing", which is a term I misunderstood. Routing means that other apps, such as Apple/Google maps, can use your app to display directions. I only wanted to show directions within my app, so turning on MapKit was unnecessary.

Is using GMSMap reason for rejection?

My app uses GMSMap to show some locations on map and users can open Yandex Navi, Google Maps app and also Apple maps to navigate selected poi. Only installed apps are listed to build route. Somehow my app is rejected. They send me the following message:
Your app's location feature is not integrated with the built-in mapping functionality, which limits users to a third-party maps app.
Specifically, revise your app to give users the option to launch the native Apple Maps app from any tabs and/or hyperlink(s) in the third party map interface.
Next Steps
Please revise your app to give users the option to launch the native Apple Maps app.
What is the main problem? Is it related to using GMSMap in my app or is it related to triggering apps?
I am posting this answer to help people with the same problem. After making phone call, reviewer said that using only GMSMapView is the reason for rejection and MKMapView should be given as an option to show coordinates. I used only GMSMapView in my app and they rejected it just for that! There is no written rule for this rejection. It is totally ridiculous.
I have gone through some more problems as such app getting rejection for the reason you stated and many people have posted this scenario in Google forums here
My opinion would be to update the GoogleMap SDK to the newest framework which is approved by the Apple team.
Check this answer for further discussion on this
EDIT
About the URL scheme have you added the respective URL Scheme in plist under the key LSApplicationQueriesSchemes
<key>LSApplicationQueriesSchemes</key>
<array>
<string>comgooglemaps</string>
<string>comgooglemaps-x-callback</string>
</array>
And then having a condition like canOpenURL and then opening the URL scheme.

Defining Facebook URL Scheme at compile time on iOS

This question could also be a general "How to change info.plist contents at compile-time" but I know it's a complex issue that is handled differently on iOS and MacOSX. The thing is that specifically when working with the Facebook SDK, it feels kind of wrong supplying my FB app-id twice - once in the "URL types" dictionary under "URL schemes" in the app's info.plist and once in my code. I want to be able to change the app-id dynamically from within my code without touching the info.plist file. I looked into Apple's launch services and found a potentially helpful "LSSetDefaultHandlerForURLScheme" method, only to find out that I was looking at the MAC developer library. I saw some other SO questions about this issue but the general opinion seems to be that this is not doable. Any ideas that don't involve pulling information out of the plist at compile time? (I want to be able to support several app-ids that are defined in a specific header file in my code).
Thanks!

Resources