美文网首页知识点
iOS - URL Schema

iOS - URL Schema

作者: lionsom_lin | 来源:发表于2019-04-17 14:57 被阅读0次

    一、Schema简介和使用

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

    • 接收schema并处理

    - (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的生命周期

    关于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

    相关文章

      网友评论

        本文标题:iOS - URL Schema

        本文链接:https://www.haomeiwen.com/subject/asegwqtx.html