Is there a list of iOS apps that can be called using custom URLs? - ios

It is possible to launch your own app via custom URL scheme as described at http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html for example. Is there a list of the apps that use this mechanism somewhere already? A list of custom URLs available to date? If you have or know an app that uses this mechanism, adding it here will also help.

See http://wiki.akosma.com/IPhone_URL_Schemes

http://www.onemillionappschemes.com, an open source Custom URL scheme site where you can contribute URLS (by scanning your iTunes library) and where you can pick up everything that has been found so far

Related

Does deeplinking in iOS need something to do on server side?

I am trying to implement deeplinking in iOS.
After a little research i came to know the if we need to navigate to our app(if installed) on click of a link, we need to work on server side also.
Is there anyway to work out this without server side dependency?
The old-fashioned approach to deep linking used custom URI schemes, which didn't require any server-side implementation. These don't work well anymore. Apple introduced Universal Links in iOS 9, which do require a server-side update.
If you don't want to deal with all the implementation details, check out Branch.io (full disclosure: I'm on the Branch team). It's a free service that takes care of all this without any server requirements from you.
There are two ways to link to your app:
Make iOS redirect URLs of your website to your app (Universal Links)
For example http://maps.apple.com/?q=1+Infinite+Loop opens the Maps App and YouTube-Links redirect to the YouTube-App, if it is installed.
This requires some server-side configuration.
I have not worked with Universal Links yet, so I can just propose you to read this document by Apple about this topic.
Use a custom URL scheme
If you don't want to do anything on your server, you need to use a custom URL-scheme like myapp://this/is/a/url

Registering an iOS extension to a URL scheme

I don't think this is possible but I've not been able to find anything conclusive.
Ideally I would like to register my Action Extension to be launched by a specific scheme - instead of my main application. I want this because of the benefit of being able to return to the previous application after completion.
Thanks.
As i understand your question, you want to accept specific schemes in your application but want only extension to be configured to it.
Well this is fairly possible. You can create extension for your application and add URL schemes to the extension only. Remove specific URL schemes from your apps plist and add it to the extensions plist.

Custom URL Scheme and http

Using my iPhone i noticed that when i open a youtube link like http://m.youtube.com/..., this is redirect to the native Youtube app.
I would like to do the same thing but using my custom url scheme, so i would like to have a custom url, if my app is installed in the device this is redirected in it, or if it's not installed, to do something else.
I've tried to register as a custom url scheme the "http://" url scheme, but the is not listening for these urls.
edit-
I've already tried to register my custom url scheme, i want to use an html page, in that page i want to put my custom url scheme, but the problem is that i can't detect, from the web page, if the app is installed in the device
Take a look to the Associated Domains.
If I understand well your question you need to define your own domain that will be associated to your app. Every time an app will find that specific domain the OS will check if any installed app can handle it.
You need to add the capabilities as specified by Apple here
Hope it helps
For that you need to create your custom URL Schema for that you can open via another app.
Following is the Tutorial where you can create your own URL Schema and use into your app.
Here is tutorial.
You can define custom url schemes that will open your app, but you can't make your app the designated handler for certain domain names so that opening that domain in Safari will launch your app automatically.
And One thing for more detail this solution given into this question also.
Happy coding.
You need to add your custom URL schemes in Info.plist. With this schema you can launch your app.

How to share a link from the app using other applications

I want to share a link from my app using other applications installed on my iPhone such as Gmail, Facebook, DropBox, WhatsApp etc. In android there is a straight way to do so, just fire an intent and it automatically shows the installed apps through which we can share whatever we want. Is there any such way in iPhone ?
Thanks!
On iOS , app is more separated from each other. The only way to pass data from one app to other is using the URL mechanism. As one example, an app register url scheme "open-me://",you invoked openURL with "open-me://my-link" then that app will launched. That app will define the detail of the URL so it could understand the content.Continue with the example we are using, the text you passed could be either "open-me://A?data=my-link" or "open-me://A?message=my-link". So there are no general solution for all apps.Typically third party app will provide a SDK to make these things easy.
If you don't mind using a kind of large third party library, ShareKit is a good choice. It supports quite some apps.
If you want to know more about this topic,for example sharing files between app. You could start from reading the class reference of UIDocumentInteractionController.This UI component will show a list of app installed on your device which support the URL scheme.

Is it possible to have access to the image specified in CFBundleURLIconFile via URL scheme from a different iOS app?

is it possible to access the icon specified with CFBundleURLIconFile in the info.plist file from a different application? Does application sandboxing prevent it? If so,what is the purpose of this key(in an iOS app of course)?
Thanks
As stated in CoreFoundationKeys docs: "CFBundleURLTypes contains an array of dictionaries, each of which describes the URL schemes (http, ftp, and so on) supported by the application. The purpose of this key is similar to that of “CFBundleDocumentTypes,” but it describes URL schemes instead of document types."
The purpose is to permit applications to register for some type of documents allowing an app to handle the opening of files from other installed app (you surely met the "Open In..." button, for example in Mail when you receive a file).
More on this in the Document Interaction Programming Topics for iOS.
EDIT:
Sorry, I forgot to answer to your main question: AFAIK the only way to access that key is through UIDocumentInteractionController.

Resources