知识点

iOS - URL Schema

2019-04-17  本文已影响0人  lionsom_lin

一、Schema简介和使用

在Info.plist中进行配置
URL Identifier,一个字符串对象。该字符串是你自定义的 URL scheme 的名字。建议采用反转域名的方法保证该名字的唯一性,比如 com.yourCompany.yourApp。

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
    NSLog(@"从哪个app跳转而来 Bundle ID: %@", options[UIApplicationOpenURLOptionsSourceApplicationKey]);    
    NSLog(@"URL scheme:%@", [url scheme]);
    NSLog(@"URL query:%@", [url query]);
    // 允许打开
    return YES;
}

关于App间的跳转问题 官网 - Inter-App Communication

如果待调用的App已经运行了,那么它的生命周期如下:

如果待调用的App在后台,那么它的生命周期如下:

二、调用自定义 URL Scheme

2.1、从 Safari 中调用自定义 URL Scheme

从 Safari 中调用自定义 URL Scheme.gif

2.2、从另一个 iPhone 应用中调用自定义 URL Scheme

-(void)btnCallBack {
    NSURL *URL = [NSURL URLWithString:@"LionsomApp://"];
    if (@available(iOS 10.0, *)) {
        [[UIApplication sharedApplication] openURL:URL options:@{} completionHandler:^(BOOL success) {
            NSLog(@"iOS10 - 跳转成功!!!");
        }];
    } else {
        // Fallback on earlier versions
        NSLog(@"iOS9 - 跳转成功!!!");
        [[UIApplication sharedApplication]  openURL:URL];
    }
}
从另一个App中调用自定义 URL Scheme.gif

三、通过自定义 URL Scheme 向应用传递参数

第一步:在模拟器safari中输入:

LionsomApp://?token=123abc&registered=1

第二步:跳转到应用中获取参数:

四、APP之间跳转的另一个方法 - Universal Links方式

https://www.jianshu.com/p/76da56b3bd55

上一篇下一篇

猜你喜欢

热点阅读