iOS在自己的app里面如何打开其他app,例如QQ/微信等.md

0. 想要打开其他APP,需要知道目标APP的URL Scheme,然后调用UIApplication的 openURL:方法即可打开


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

1. 配置Scheme白名单

untitled2.png

2. 常用URL Scheme

3. 示例代码


- (void)viewDidLoad {
    [super viewDidLoad];
    [self addweixinbutton];
    [self addqqbutton];
}
- (void)addqqbutton
{
    UIButton *button = [[UIButton alloc] init];
    [button setTitle:@"打开QQ" forState:UIControlStateNormal];
    [button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
    [self.view addSubview:button];
    button.frame = CGRectMake(100, 250, 100, 100);
    [button addTarget:self action:@selector(openQQ) forControlEvents:UIControlEventTouchUpInside];
}

- (void)addweixinbutton
{
    UIButton *button = [[UIButton alloc] init];
    [button setTitle:@"打开微信" forState:UIControlStateNormal];
    [button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
    [self.view addSubview:button];
    button.frame = CGRectMake(100, 100, 100, 100);
    [button addTarget:self action:@selector(openWeixin) forControlEvents:UIControlEventTouchUpInside];
}

/**
 *  需要在info里面添加 LSApplicationQueriesSchemes字段
 */
- (void)openQQ
{
    NSURL *url = [NSURL URLWithString:@"mqq://"];
    if([[UIApplication sharedApplication] canOpenURL:url]){
        [[UIApplication sharedApplication] openURL:url];
    } else {
        UIAlertView*ale=[[UIAlertView alloc] initWithTitle:@"提示" message:@"您没有安装手机QQ,请安装手机QQ后重试,或用PC进行操作。" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
        [ale show];
    }
}

/**
 *  打开微信 , 没有配置
 */
- (void)openWeixin
{
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"weixin://"]];
}
  • iOS技术开发交流QQ群: 579572313
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 有人说,我慈悲你,那么我就站在了比你高的位置上,这是不平等的。 到底人和人什么才是平等呢? 我认为是价值上的平等,...
    米勒Li阅读 1,319评论 2 0
  • 远方的花开了/徐宏 远方的花开了 徐 宏 易碎的寒冬远方的心从雪地走来轧过一串坚实的印痕山石质感中融雪的距离撑...
    sunxuhong阅读 3,089评论 6 9
  • 如果人类的数量减少一半,被烧毁森林面积将减少一半吧。 人类的数量若仅剩下百分之一,那么排放出垃圾的量,也将会变成百...
    一抔土WW阅读 6,291评论 0 3
  • 文/安安然然 前日收到一个好友同事的电话告别,说已辞职。没有任何征兆,一周之内就完成了提交辞职信,搬家,走人了。 ...
    安和然阅读 3,638评论 0 2