检测iOS设备上是否安装了其他应用程序
我玩的是第二代,在我安装了第1代之后,第2代说“好的,我看到第1代了,这里有免费的武器给你”检测iOS设备上是否安装了其他应用程序,ios,Ios,我玩的是第二代,在我安装了第1代之后,第2代说“好的,我看到第1代了,这里有免费的武器给你” 我如何做类似的事情——检测另一个应用程序的安装——以及这种机制的限制是什么?一个应用程序可以注册自定义URL处理程序,以便系统可以直接向它们发送特定类型的请求 一个常见的例子是 appname:// 或者,如果一个应用程序有一个相关的facebook应用程序,它通常会用它的facebook应用程序id来处理facebook重定向到它自己 fb37238917293124://(其中数字仅为应用程序ID
我如何做类似的事情——检测另一个应用程序的安装——以及这种机制的限制是什么?一个应用程序可以注册自定义URL处理程序,以便系统可以直接向它们发送特定类型的请求 一个常见的例子是
appname://
或者,如果一个应用程序有一个相关的facebook应用程序,它通常会用它的facebook应用程序id来处理facebook重定向到它自己
fb37238917293124://
(其中数字仅为应用程序ID)
通过调用UIApplication
scanOpenURL
方法,了解应用程序的URL方案将允许您查看该应用程序是否安装在给定设备上
它看起来是这样的:
BOOL twitterInstalled = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"twitter://"]];
也许Epoch是通过你的帐户检测到的,并且在那里有相关信息?@mattkc7这意味着Epoch是在某个自助服务器上,而不是在iOS设备上这样做的?非常感谢!例如,
twitter安装
如果twitter应用程序被用户杀死,则为“是”?关于此URL,它们是(流行)应用程序的公共URL?它们并不总是公共的,我可以看到一些开发人员希望在非公共用途中使用URL功能(即生成“深层应用程序链接”)不一定要有第三方沟通。此外,并不是所有的应用程序都会有它们,所以你将很难找到所有已安装的应用程序。谢谢,@JustinAmberson!这就是我要搜索的。如果你能找到一个应用程序的IPA,你可以将它提取出来,并从它的plist文件中获取任何自定义URL方案。它们将位于CFBundleURLTypes
键中,在CFBundleURLSchemes
中。此外,要手动测试任何自定义方案,您只需将它们粘贴到手机上的safari地址栏中,然后查看是否被重定向到应用程序中。例如,在safari中键入twitter://
,应该可以将您重定向到twitter应用程序。