主要思路就是 ,在要被识别的应用程序B的XCode的info.plist中
如果是Xcode 4.2 ,那么
1. 在info.plist 中 增加 一个 URL Schemes: XXX
添加的具体细节是:
1.1 打开 info.plist ,在 Information Property List的下面增加一项:URL types
1.2 然后在 URL Types 下面增加一项 Item 0 ,这是个Dictionary
1.3 在 Item0 下面增加一个 URL Schemes 类型的 Array
1.4 然后在URL Schemes 的下面增加一个 URL identifier ,String值可以不填
在 Item0 的下面增加一个 Item0, String值就是 XXX 就可以了。
开始在网上 看到说添加 URL Schemes ,以为直接添加到 Information Property List 下面的一项,key为 URL Schemes ,值为 XXX就ok了,后面发现不起作用。这个里面只能添加指定的类型,会自动提示相关的类型,正确的方法是上面的过程。
如果是Xcode 4.6 ,那么按照下面的方法添加:
解决方案:
从91SDK3.2.5开始要求接入方需要设置一个URL Scheme,设置方法如下:选中工程中的Target,选中Info标签页,找到底下的URL Types,展开,点击加号,创建一个新的URL Scheme。
点击后,Identifier字段填入你的软件标识符,URL Schemes字段填入格式为:91-xxxxx,其中xxxx为你的软件标识符。Role字段可以设置为None,Icon字段可以不填。示例如下:
2. 然后 在主动设备的应用程序A中,通过 这个方法判断手机中是否存在这个应用B
[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"XXX://"]];
如果返回YES则表示此应用在手机中安装过,反之则没有安装过.
具体代码如下:
- -(BOOL) APCheckIfAppInstalled2:(NSString *)urlSchemes
- {