概述
前言:
非越狱设备,在你的应用里无法知道系统安装了什么别的应用。
如果想要准确的通过程序控制和发现本地安装的应用,目前只能在破解版的ios
上开始显示,但是我们可以通过一些其他的途径获取到手机是否安装过某些应用。
正文:
一、如何判断是否安装App
用 UIApplication 的 canOpenUrl 方法,当然前提是要检测的应用程序注册了一个唯一的url标识,并且你知道该标识url。
1、注册该App的唯一url标识
我们都知道苹果手机中的APP都有一个沙盒,APP就是一个信息孤岛,相互是不可以进行通信的。但是iOS的APP可以注册自己的URLScheme,URLScheme是为方便app之间互相调用而设计的。我们可以通过系统的OpenURL来打开该app,并可以传递一些参数。
Info.plist中添加URL
Schemes :***
你访问的URL
为:***://
在Safari中输入***://即可跳转到你的App
从浏览器跳入到app中:
(当系统中需要安装了该app,直接打开该app,若没有直接跳转到app下载页面。 暂时没好的解决方案,访问***://的同时,也打开app下载页面,使浏览器先操作***://,然后在打开app下载页面)
在AppDelegate中实现下面的方法
- (BOOL
)application:(UIApplication *)application handleOpenURL
:(NSURL *)url;
从app跳入其他的app
这个方法判断手机中是否存在这个应用
[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"***://"]]
返回值为BOOL类型
如果返回YES则表示此应用在手机中安装过,反之则没有安装过.
还有一种,就是判断手机中有那些软件处于运行等待状态:
NSArray * processes = [[UIDevice currentDevice] runningProcesses];
for (NSDictionary * dict in processes){
NSLog(@”%@ – %@”, [dict objectForKey:@"ProcessID"], [dict objectForKey:@"ProcessName"]);
}
iOS 从C APP里启动 D APP
首先在D APP里设置 URL Schemes
在info.plist 文件里添加URL Schemes
URL Types -->item0 --> URL Schemes --> yipai
然后再回到C APP 找到info.plist 文件
添加 LSApplicationQueriesSchemes --> item0 yip
(单击左侧按钮至方向朝下,再单击中间的添加+按钮即可添加)
最后
以上就是唠叨书包为你收集整理的iOS-判断是否安装某个App并从另一个App中启动该App(未安装跳转到AppStore)的全部内容,希望文章能够帮你解决iOS-判断是否安装某个App并从另一个App中启动该App(未安装跳转到AppStore)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复