有没有办法获取设备上所有应用的所有网址方案?在某个地方必须有一个中央存储库,也许是一个plist?
答案 0 :(得分:11)
添加我的解决方案以防有人仍在寻找。在花了一些时间研究答案之后,我完成了@ danielbeard和@Avis'解决方案之间的混合。
因为我知道我在寻找什么样的应用程序:
使用该信息,然后将其添加到应用程序数组中进行检查(执行@danielbeard建议的操作)。
希望这有助于将来。
答案 1 :(得分:2)
如果以编程方式进行,我就不知道了。
这里是与您的问题相关的答案(不完全是)
Find out an app's URL programmatically
但手动,在您的设备上 -
是...
有一种方法可以通过此过程获取设备上所有应用的网址方案。在您的系统上安装ifunbox。连接您的设备,打开用户应用程序并打开您尝试查找网址方案的应用程序。你会找到应用程序主文件夹,在该文件夹中你会找到该应用程序的info.plist。打开info.plist并检查最后一栏中的网址方案地址。
它对我有用。你会发现一些注册了网址方案的应用程序的网址方案。这里有一些针对某些应用的网址方案地址的链接。(可能会节省您的时间)。
1。http://handleopenurl.com/ 2。http://wiki.akosma.com/IPhone_URL_Schemes
答案 2 :(得分:2)
是的,您可以使用私人API。第一
@interface PrivateApi_LSApplicationWorkspace
- (NSArray*)privateURLSchemes;
- (NSArray*)publicURLSchemes;
@end
然后使用它:
PrivateApi_LSApplicationWorkspace* _workspace;
_workspace = [NSClassFromString(@"LSApplicationWorkspace") new];
- (NSArray*)privateURLSchemes
{
return [_workspace privateURLSchemes];
}
- (NSArray*)publicURLSchemes
{
return [_workspace publicURLSchemes];
}
答案 3 :(得分:0)
没有越狱的Apple API没有正式支持
解决方法可能是Bump如何知道启动了哪些应用并支持URL方案: http://danielamitay.com/blog/2011/2/16/how-to-detect-installed-ios-apps
答案 4 :(得分:0)
我会在这里突发奇想,并假设你正在努力做到以下几点:
如果要执行此操作,则无需手动执行步骤2。事实上,你做不到。但是,您可以使用UIDocumentInteractionController类来展示兼容应用的菜单。
这是您“检查”手机上安装的其他应用的唯一方法。至少在iOS 7及以下版本。