iOS判断手机某个App是否存在和常用scheme

现在的app一般都会有第三方登录,类似QQ/微博/微信等;
但是我们不能全部暴露出来,假设如果用户手机没有QQ,那点击QQ登录只会跳到苹果商店去下载,一来用户体验不好,二来苹果审核不通过.
所以这里要做一个操作,先判断手机本地是否有安装某款app,如果有,则把图标显示,如果没有,则消失.

 

- (void)isHasAPPWithURLScheme:(NSString *)schemeStr {

    //判断本地是否有淘宝App

    NSURL *url = [NSURL URLWithString:schemeStr];

    if ([[UIApplication sharedApplication] canOpenURL:url]) {

        NSLog(@"canOpenURL");

        [[UIApplication sharedApplication] openURL:url];

    }

    else{

        NSLog(@"应用图标不显示");

        

    }

}

 

注意:iOS9需要设置白名单,大伙儿还要在plist设置。

常用 scheme:
QQ的url是 mqq://
微信是weixin://
淘宝taobao://
微博 sinaweibo://
支付宝alipay://
详细链接看这个:https://www.zhihu.com/question/19907735

 

posted @ 2017-09-21 10:02  weicy  阅读(434)  评论(0编辑  收藏  举报