应用之间调用 UIApplication类的OpenURL方法
一、UIApplication类的OpenURL方法
1、调用app store界面方法
在实际开发中,往往要推荐自己其他应用和推荐自己的收费软件,那么我们就需要在程序中直接连接到app store的相应页面。
实际上的做法很简单,使用的还是UIApplication类的OpenURL方法:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"程序的相应连接"]];
2、调用其它应用的方法
// 调用 自带mail
[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:@"mailto://admin@hzlzh.com"]];
// 调用 电话phone
[[UIApplication sharedApplication] openURL:[NSURLURLWithString:@"tel://8008808888"]];
// 调用 SMS
[[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"sms://800888"]];
// 调用自带 浏览器 safari
[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:@"http://www.hzlzh.com"]];
// 调用 Remote
[[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"remote://fff"]];
调用phone可以传递号码,调用SMS只能设定号码,不能初始化SMS内容。
二、应用程序间通信
1、调在plist文件中,注册对外接口
找到appname-info.plist文件,点击打开它,在列表中找到URL types(如果没有,可添加一个URL types )里面的内容设置看下图:
![应用之间调用 UIApplication类的OpenURL方法 - Awei - 半调子程序员 应用之间调用 UIApplication类的OpenURL方法 - Awei - 半调子程序员](http://img9.ph.126.net/ZWl8lIFSjgInxSqCa311UQ==/6597806439446869189.jpg)
关键Key和Value是 URL identifier => com.zilanxing.andpush;URL Schemes => andpush
到此对外接口已注册好
2、调用上面的接口通信
这时使用其他程序调用
[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"andpush://"]]
这里@"andpush://"的内容 取决于URL Schemes => andpush
返回YES
调用下面实现切换到andpush APP
NSURL *url = [NSURL URLWithString:@"andpush://test"];
[[UIApplication sharedApplication] openURL:url];
在andpush APP的下面方法中实现:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if ([url.host isEqualToString:@"test"])
{
NSLog(@"其他APP 访问我了!!!!!");
}
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
//在这里也可以实现上面的东西
if (!url) {
return NO;
}
if ([url. host isEqualToString : @"test" ]){
//根据具体url进行页面的切换或者响应
}
}