原文:http://blog.youkuaiyun.com/mangosnow/article/details/7764820
在自己应用中打开其他应用,如yahoo messenger, msn messenger, qq,facebook。
一般apple app运行在沙河里面,不允许相互调用,但是通过rul scheme 可以实现这个功能。
1. 设置url scheme截图如下
xcode4.2 没有URL types 这个选项,你要在Main nib file base name 下面个那个选项里面找到URL types。
这里面的todolist就是url scheme。
如果你在模拟器safari 里面打这些字符 todolist:// 只要你运行过一次你的app,就能直接打开了。
2. 常用的url scheme 查询网站是这个:http://handleopenurl.com/ 里面可以查到qq的接口。
Below is a list of some common non-http URI schemes:
Application | URI Scheme or Protocol | Query Strings |
---|---|---|
Default e-mail application | mailto:<email>?query | Subject |
CC | ||
BCC | ||
Body | ||
Default phone application | tel:<number> | N/A |
Default SMS application | sms:<number> | N/A |
Chat Room client | irc://<url>:query | port |
channel | ||
password | ||
Syndication feed reader | feed:<url> | N/A |
Apple FaceTime | facetime:<number> | N/A |
Skype client | skype:<username|number>?query | add |
call | ||
chat | ||
sendfile | ||
userinfo | ||
Google Talk client | gtalk:query?<email> | chat |
call | ||
Windows Live Messenger client | msnim:query?<email> | add |
chat
| ||
voice
| ||
video
| ||
Yahoo! Messenger client | ymsgr:query?<email|number> | sendim
|
addfriend
| ||
sendfile
| ||
call
| ||
callPhone
| ||
chat
| ||
im
| ||
customstatus
| ||
getimv
| ||
AOL Instant Messenger client | aim:query?<username> | goim
|
goaway
| ||
addbuddy |
- /**
- * Added by Bruce Yang on 2012.08.31.09.58~
- * 从一个 app 中跳转到另外一个 app 中(也可以是网页地址,会在 safari 中打开)~
- * 要修改 info.plist 中 URL types 键所对应的值方才能够从其他应用中跳转进来~
- */
- -(void) openAnotherAppInThisApp {
- // NSString* strIdentifier = @"http://www.baidu.com";
- NSString* strIdentifier = @"companyname://com.companyname.bundleidentifier";
- BOOL isExsit = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:strIdentifier]];
- if(isExsit) {
- NSLog(@"App %@ installed", strIdentifier);
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:strIdentifier]];
- }
- }
- /**
- * Added by Bruce Yang on 2012.08.31.09.60~
- * 跳转到 appStore,并且定位在某个 app 的评论区~
- */
- -(void) jumpToCommentArea {
- NSString* strLoc = @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=536226604";
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:strLoc]];
- }
其他参考:http://blog.youkuaiyun.com/james_1010/article/details/8556715