在iOS开发中,经常需要调用其它App,如拨打电话、发送邮件等。这种app之间的跳转可以使用URL Scheme来实现
例如,要在Safari应用程序中打开Google主页,我们可以编写如下代码:
NSURL *url = [NSURL URLWithString:@”http://google.com“];
[[UIApplication sharedApplication] openURL:url];
这里的http://部分叫做URL方案(URL scheme),它表示想要载入的应用程序。
还有几种用于本地iPhone应用程序的URL方案,并且可以使用类似的方式来启动它们。
比如:
要启动Mail应用程序:
NSURL *url = [NSURL URLWithString:@”mailto:steve@apple.com subject= test”];
[[UIApplication sharedApplication] openURL:url];
要启动SMS应用程序:
NSURL *url = [NSURL URLWithString: -“sms:555-1234”];
[[UIApplication sharedApplication] -penURL:url];
要拨打一个电话号码:
NSURL *url=[NSURL URLWithString:@”tel://555-1234”];
[[UIApplication sharedApplication] openURL:url];
要启动Maps应用程序来查找一个披萨店:
NSURL *url = [NSURL URLWithString:@”http://maps.google.com/maps?q=pizza“];
[[UIApplication sharedApplication] openURL:url];
调用应用商店(AppStore):
NSURL*appStoreUrl= [NSURL URLWithString:@”http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=291586600&mt=8“];
[[UIApplication sharedApplication] openURL:appStoreUrl];
较常使用的:(http://wiki.akosma.com/IPhone_URL_Schemes可以查看更多的URL Scheme)
QQ的url是 mqq://
微信是weixin://
淘宝taobao://
点评dianping:// dianping://search
微博 sinaweibo://
名片全能王camcard://
weico微博weico://
支付宝alipay://
豆瓣fm:doubanradio://
微盘 sinavdisk://
网易公开课ntesopen://
美团 imeituan://
京冬openapp.jdmoble://
人人renren://
我查查 wcc://
1号店wccbyihaodian://
有道词典yddictproapp://
知乎zhihu://
优酷 youku://
配置自己的app的URL Scheme
在info.plist中按下图配置
在其他应用程序中写入代码:
NSURL * myURL_APP_A = [NSURL URLWithString:@”goshopping://”];
if ([[UIApplication sharedApplication] canOpenURL:myURL_APP_A]) {
NSLog(@”canOpenURL”);
[[UIApplication sharedApplication] openURL:myURL_APP_A];
}else{
NSLog(@”不能打开”);
}
即可调用自己的app了。
本文介绍了在iOS开发中如何使用URL Scheme进行App间的跳转,包括拨打电话、发送邮件、启动本地应用等示例。同时,列举了一些常见应用的URL Scheme,如QQ、微信、淘宝等,并详细说明了如何配置自定义的URL Scheme以实现与其他App的交互。
1285

被折叠的 条评论
为什么被折叠?



