Is there a way to get all the url schemes of all the apps on a device? There has to be a central repository of them somewhere, maybe a plist?
Yes, you can use private api. First
@interface PrivateApi_LSApplicationWorkspace
- (NSArray*)privateURLSchemes;
- (NSArray*)publicURLSchemes;
@end
then use it:
PrivateApi_LSApplicationWorkspace* _workspace;
_workspace = [NSClassFromString(@"LSApplicationWorkspace") new];
- (NSArray*)privateURLSchemes
{
return [_workspace privateURLSchemes];
}
- (NSArray*)publicURLSchemes
{
return [_workspace publicURLSchemes];
}
check https://github.com/wujianguo/iOSAppsInfo.
Adding my solution in case someone is still looking. After spending some time researching the answer, I finished off on a mix between @danielbeard's and @Avis' solution.
Because I know what application I am looking for:
Using that information I then add it to an array of apps to check (doing what @danielbeard suggested).
Hope this helps someone in the future.
if it's programatically, i don't know.
here is answer to related to your question(not exactly)
Find out an app's URL programmatically
But manually, on your device-
yes...
there is a way to get url schemes of all apps on your device by this procedure. Install ifunbox on your system. Connect your device, open user applications and open the app that you are trying to find url scheme. you will find app home folder, in that folder you will find info.plist of that app. open info.plist and check url scheme address in the last column.
it worked for me. you will find url scheme of some apps which are registered for url schemes.
here are some some links for url scheme addresses of some apps.(might save your time).
1.http://handleopenurl.com/ 2.http://wiki.akosma.com/IPhone_URL_Schemes
It's not supported officially by Apple API without jailbreaking
A workaround might be how Bump knows which apps are launched and support URL Schemes: http://danielamitay.com/blog/2011/2/16/how-to-detect-installed-ios-apps
I'm going to go out on a whim here and assume you are trying to do the following:
If you want to do this, you don't have to do step 2 manually. As a matter of fact, you can't. However, you can use the UIDocumentInteractionController class to present a menu of compatible apps.
This is the only way you can "check" for other apps installed on the phone. At least on iOS 7 and under.