iOS - URL Schema

一、Schema簡介和使用

在Info.plist中進行配置
URL Identifier,一個字符串對象。該字符串是你自定義的 URL scheme 的名字。建議采用反轉(zhuǎn)域名的方法保證該名字的唯一性,比如 com.yourCompany.yourApp。

  • 接收schema并處理

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
    NSLog(@"從哪個app跳轉(zhuǎn)而來 Bundle ID: %@", options[UIApplicationOpenURLOptionsSourceApplicationKey]);    
    NSLog(@"URL scheme:%@", [url scheme]);
    NSLog(@"URL query:%@", [url query]);
    // 允許打開
    return YES;
}
  • 調(diào)用APP的生命周期

關(guān)于App間的跳轉(zhuǎn)問題 官網(wǎng) - Inter-App Communication

如果待調(diào)用的App已經(jīng)運行了,那么它的生命周期如下:

如果待調(diào)用的App在后臺,那么它的生命周期如下:

二、調(diào)用自定義 URL Scheme

2.1、從 Safari 中調(diào)用自定義 URL Scheme

從 Safari 中調(diào)用自定義 URL Scheme.gif

2.2、從另一個 iPhone 應用中調(diào)用自定義 URL Scheme

-(void)btnCallBack {
    NSURL *URL = [NSURL URLWithString:@"LionsomApp://"];
    if (@available(iOS 10.0, *)) {
        [[UIApplication sharedApplication] openURL:URL options:@{} completionHandler:^(BOOL success) {
            NSLog(@"iOS10 - 跳轉(zhuǎn)成功!?。?);
        }];
    } else {
        // Fallback on earlier versions
        NSLog(@"iOS9 - 跳轉(zhuǎn)成功?。?!");
        [[UIApplication sharedApplication]  openURL:URL];
    }
}
從另一個App中調(diào)用自定義 URL Scheme.gif

三、通過自定義 URL Scheme 向應用傳遞參數(shù)

第一步:在模擬器safari中輸入:

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

第二步:跳轉(zhuǎn)到應用中獲取參數(shù):

四、APP之間跳轉(zhuǎn)的另一個方法 - Universal Links方式

http://www.itdecent.cn/p/76da56b3bd55

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容