陈斌彬的技术博客

Stay foolish,stay hungry

iOS开发中使用[[UIApplication sharedApplication] openURL:]加载其它应用

在iOS开发中,经常需要调用其它App,如拨打电话、发送邮件等。UIApplication:openURL:方法是实现这一目的的最简单方法,该方法一般通过提供的url参数的模式来调用不同的App。

通过openURL方法可以调用如下应用:

  • 调用谷歌地图(Google Maps)
  • 调用邮件客户端(Apple Mail)
  • 拨号(Phone Number)
  • 调用短信(SMS)
  • 调用浏览器(Safari Browser)
  • 调用应用商店(AppStore)

调用谷歌地图(Google Maps)

URL模式:http://maps.google.com/maps?q=<strong>${QUERY_STRING}</strong>

代码示例:

NSString* searchQuery=@"1 Infinite Loop, Cupertino, CA 95014";
searchQuery = [addressText stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
NSString* urlString=[NSString stringWithFormat:@"http://maps.google.com/maps?q=%@", searchQuery];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlText]];

调用邮件客户端(Apple Mail)

URL模式:mailto://<strong>${EMAIL_ADDRESS}</strong>

代码示例:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@eyecm.com"]];

拨号(Phone Number)

URL模式:tel://<strong>${PHONE_NUMBER}</strong>

代码示例:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]];

调用短信(SMS)

URL模式:sms:<strong>${PHONENUMBER_OR_SHORTCODE}</strong>

代码示例:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms:10086"]];

调用浏览器(Safari Browser)

代码示例:

NSURL*url= [NSURL URLWithString:@"http://eyecm.com"];
[[UIApplication sharedApplication] openURL:url];

调用应用商店(AppStore)

URL模式:http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=291586600&amp;mt=8

代码示例:

NSURL*appStoreUrl= [NSURL URLWithString:@"http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=291586600&amp;amp;mt=8"];
[[UIApplication sharedApplication] openURL:appStoreUrl];

调用appstore中程序的评论

很多用户用了好软件后忘记或嫌麻烦而不去 App Store 进行打分评星,为此开发者可以在应用中加入打分按钮,点击后直接跳转到 App Store 的评分界面。

App Store 上评论的链接地址是 itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=appID

所以可以用这段代码

    NSString *str = [NSString stringWithFormat:
                     @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%d",
                     m_appleID ];  
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];

只需要将id替换成你自己的appid即可

Resource Reference