iOS - URL Schema

iOS - URL Schema

 

lionsom_lin 关注

2019.04.17 14:57 字数 268 阅读 371评论 0喜欢 0

一、Schema简介和使用

注册Schema(可参考:自定义 URL Scheme 完全指南)

在Info.plist中进行配置

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

接收schema并处理

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

调用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 = [NSURLURLWithString:@"LionsomApp://"];if(@available(iOS10.0, *)) {        [[UIApplicationsharedApplication] openURL:URL options:@{} completionHandler:^(BOOLsuccess) {NSLog(@"iOS10 - 跳转成功!!!");        }];    }else{// Fallback on earlier versionsNSLog(@"iOS9 - 跳转成功!!!");        [[UIApplicationsharedApplication]  openURL:URL];    }}

从另一个App中调用自定义 URL Scheme.gif

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

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

LionsomApp://?token=123abc®istered=1

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

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

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

你可能感兴趣的:(iOS - URL Schema)