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

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.

Related

Apple universal links not working even after uploading Apple-app-site-assocaiton(AASA) file on server

I tried to implement universal links functionality in my app. For that I created a Apple-app-site-assocaiton(AASA) with in verified json format by branch.io and uploaded on my root server. After that I enable associated domains in my app capability in Xcode to define (applinks:) that help website url to detect my app into the active device. Now, problem is after implementation I could not avail that functionality as Web url not detecting my app. I tried so many trouble shooting method but it hasn't help me out.
Secondly, apple api validator tool is also not showing my website compatible to deep link even after successfully adding AASN file. Can anybody help where exactly I'm lacking behind.

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.

Swift - how to access all pdf files on device

I am trying to build an app that will allow users to see all pdf files that are on the device (in some kind of a list with a preview) [Regardless of which app it belongs to on the device, all should be shown]. Is there anyway to achieve this?
Sorry but this is not possible on an iOS device because of a feature called sandboxing. Apple does not allow an app to access the sandbox of another app. Each app sits inside a sandbox of its own. This is iOS's security feature. There is no way to go around this feature.
Reference - About App Sandbox

Is it possible to prevent an iOS app from being placed on the home screen?

I am developing an iOS app using Xamarin.iOS that should only be triggered by tapping on a URL. Because of this, I would like to prevent the app icon from being placed on the home screen. The reason is, the app will not function properly if they open it from the home screen (it needs some of the data in the URL to load properly). I would prefer to prevent the app from being on the home screen instead of checking whether a link was tapped or not. I know that is possible to do this in Android using the manifest, is this also possible in iOS?
This is not possible whatsoever; the developer has no control as to the placement and visibility of the application, and as such will always be visible on the springboard/home screen.
The best option you have is to show information to the user that explains why opening it from the home screen will not work, if they launch it that way. Most likely though, this will be rejected from the App Store as having no useful purpose. The guidelines are found here (App Store Guidelines), and I think this is what may cause a rejection (emphasis mine):
If your app is not particularly useful, unique, or “app-like,” it doesn’t belong on the App Store.
I'm not finding the documentation I was looking for, but, as far as I know, this is not possible in iOS.
You could maybe have a default url that the app launches with and then use deep linking to launch the app with a custom urls. There are lots of great tutorials on deep linking (launching your app through a url) like
This one or maybe this one

Automatically check for iPad app when downloading specific file type from website?

I think I already know the answer to this ("can't be done"), but I figured I'd see what people think...
On my client's website they're posting files for download that specifically need to be viewed on iPads using the Cadwork Viewer app:
https://itunes.apple.com/us/app/cadwork-viewer/id505161598?mt=8
You can't open the file on an iPad unless you have that app, and I'm wondering if when clicking on the file to initiate download if there's a way to scan the device to see if Cadwork Viewer is already installed. If so, proceed with the download of the file. If not, pop up a notice "This file requires the Cadwork Viewer app, download it here from iTunes." Something like that.
Again, I think this is just not doable, but hey...there's all sorts of things I don't know!
Thoughts?
Check out this link: https://developer.apple.com/library/ios/documentation/AppleApplications/Reference/SafariWebContent/PromotingAppswithAppBanners/PromotingAppswithAppBanners.html
You can add a banner to the mobile site that lets you open the app from Safari.
Explanation from Apple:
If the app is already installed on a user's device, the banner
intelligently changes its action, and tapping the banner will simply
open the app. If the user doesn’t have your app on his device, tapping
on the banner will take him to the app’s entry in the App Store.
This should be a good starting place.

Resources