iOS - URL Schema
iOS - URL Schema
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方式