iOS – 通过UIApplication的openURL来实现APP之间的相互跳转

热门标签

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

iOS设备中, APP之间的相互跳转主要是通过UIApplication的openURL来实现的.
以Instagram(未提供SDK)为例:

//
//  ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    NSString *username = @"icetime017";
    [self openUserPage:username];
}

- (BOOL)isInstagramInstalled {
    NSURL *instagramURL = [NSURL URLWithString:@"instagram://location?id=1"];
    return [[UIApplication sharedApplication] canOpenURL:instagramURL];
}

- (void)openUserPage:(NSString *)username {
    NSURL *fansPageURL;
    if ([self isInstagramInstalled]) {
        fansPageURL = [NSURL URLWithString:[NSString stringWithFormat:@"instagram://user?username=%@", username]];
    } else {
        fansPageURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://instagram.com/%@", username]];
    }
    [[UIApplication sharedApplication] openURL:fansPageURL];
}

@end

即:
使用[[UIApplication sharedApplication] canOpenURL:instagramURL];来判断是否已安装该APP,
使用[[UIApplication sharedApplication] openURL:fansPageURL];来打开该APP, 若未安装, 则默认在safari中打开相应页面.

输出log:

-canOpenURL: failed for URL: "instagram://" - error: "(null)"
instagram : 0
-canOpenURL: failed for URL: "instagram://location?id=1" - error: "(null)"

未安装instagram, 则调用canOpenURL: failed for URL. 返回0
调用openURL, 直接跳转至instagram的网页.

Demo

Demo地址: DemoOpenURL

标签:

未经允许不得转载:作者:SheaYang, 转载或复制请以 超链接形式 并注明出处 技术Dog|博客
原文地址:《iOS – 通过UIApplication的openURL来实现APP之间的相互跳转》 发布于2019-09-28

分享到:
赞(0) 打赏

评论 抢沙发

8 + 7 =


iOS – 通过UIApplication的openURL来实现APP之间的相互跳转

长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.0主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?