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

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.

Related

Apple App Site Association not working if app is not installed

We've been testing our app and in development things were perfect regarding app association/deeplinking. We have our .well-known/apple-app-site-association working, validating, Branch.io's AASA validator passing with our domain+team ID+bundle combo. Of course there wasn't a way to test it live with App Store link until it was actually on App Store.
Today we've released our app, and realized that even when we go to our page which should be handled by the deep linking, the "top bar" (install/open link) wasn't being displayed. If we install the app, then the top bar displays with the "open" link but not having "install" button when app isn't installed is killing the whole purpose.
Apple's search validation tool however gives the following error for "Link to Application" section:
Error no apps with domain entitlements
The entitlement data used to verify deep link dual authentication is from the current released version of your app. This data may take 48 hours to update.
Here is what we have:
A correct, validating (through https://branch.io/resources/aasa-validator) AASA file in our .well-known directory with correct mime type, Team ID suffix, and bundle ID.
Our app, just published on the App Store
Apple's Search Validation Tool (https://search.developer.apple.com/appsearch-validation-tool/) telling that association is not found even though Branch.io's one doesn't complain.
Association working (top bar shown at paths that we defined) when app is installed, either through App Store, TestFlight, or manually from Xcode.
Association not working (top bar not shown at all as if AASA doesn't exist) when app is not installed.
We need to show the bar when app is not installed, too. Are we missing something or is it just a matter of time for Apple to index and map our App Store app and domain now?
What you are looking for is a Smart banner.
To get this to appear you need to add some meta data to your web page.
<meta name="apple-itunes-app" content="app-id=myAppStoreID, app-argument=myURL">
There are two different processes at work in what you are trying to achieve:
When you install an app with an associated domains entitlement, iOS fetches the ASAA file from that domain and then uses that to direct requests to your app for matching URLs
When you don't yet have the app installed, Safari uses the meta data to offer the app to the user. Safari does not check every single domain that the user accesses for an ASAA file, so without the meta data you won't get the smart banner.

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.

How to get the iOS Camera suggest my app when snapping a QR code

I want the Camera App that comes with an iPhone to recommend a QR code be opened up in my app. My first question is, if two or more apps register the same universal link, which app gets suggested.
For instance I removed one app that kept on being recommended. Then suddenly another app starts getting recommended. How does a user or developer control this.
Have a look at Apple's guide for implementing Universal Links. In short, your website must upload a JSON file at a specific location that tells iOS which apps can be associated with the website domain. Here is an example file used by the NBC app.

IOS App Submission Routing App

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.

iOS: How to define an app as popular app near me on Appstore?

i'm trying to make and app that can be used inside museums and i was wondering ..
how to make the Appstore recommend the app for users near museums ?
i've tried to make a routing geojson file but the validator tells me that i should make the app binary as routing app ..
and i'm not sure that what i want .
i'm using xcode 4.5 and targeting ios 5 to 7
what should i do cause i've tried to google for it but it seems that i'm not using the proper keywords
I think you are confusing the "Apps Popular Near You" feature on the app store with routing apps.
You can't opt into "Popular Near Me" - apps are displayed there automatically based upon analytical data that Apple collect. If you would like your app to be displayed in the list when users are near museums you'll just have to hope your users actually use the app when they're near museums!
The routing geojson you are trying to get to work is for apps to interface with Maps, not the "popular near me" section on the app store.

Resources