2.iOS:App之间的相互跳转

作者: WC_Pro | 来源:发表于2016-11-10 10:34 被阅读680次

    摘要:

    网络上,关于 iOS应用跳转的教程非常的多,我就不一一概述了,在这里总结一下大概流程,便以后使用.

    1.创建两个app

    2.设置两个 app 各自的URL Schemes 值

    3.开启两个 app 的白名单

    4.进行应用跳转

    详细:

    1.创建两个app

    这个就不多说了,我在这里创建的两个 app 分别是 App1和 App2.

    2.设置两个 app 各自的URL Schemes 值

    URL schemes 值是用来标注当前 app,app 之间的弹跳主要是通过甄别这个值进行弹跳的. 设置方法有两种,一种是通过  info plist 文件,一种是通过 Targets -> info -> URL Schemes

    在 App1中的设置:

    第一种:Targets -> info -> URL

    设置App1的 url schemes 值

    第二种: 配置 info plist 文件

    通过 plist 文件配置

    在 App2中的设置:

    第一种配置方式 第二种配置方式

    注意: URL Schemes 设置的当前 app 自己的标示.

    3.开启两个 app 的白名单

    要进行应用跳转,要开启白名单才能进行跳转.

    APP1中的操作:

    在项目的 info plist 文件中添加LSApplicationQueriesSchemes数组,然后添加 item 为 string 类型,值设置为要绑定跳转关系的 app 的 URL Schemes.

    App1中的设置:

    App1开启白名单

    App2中的操作:

    App2开启白名单

    4.进行跳转的处理

    <1>跳转端的操作

    ```-(void)buttonAction:(UIButton*)tb{

    NSURL*url = [NSURLURLWithString:@"App2:"];

    if([[[UIDevicecurrentDevice]systemVersion]floatValue] >=10.0) {

    // iOS 10 code

    [[UIApplicationsharedApplication]openURL:urloptions:@{UIApplicationOpenURLOptionsOpenInPlaceKey:@"1"}completionHandler:^(BOOLsuccess) {

    //回调

    if(!success) {

    NSLog(@"success");

    }

    }];

    }

    else{

    // < iOS 9 code

    BOOLresult = [[UIApplicationsharedApplication]canOpenURL:url];

    if(result ==YES) {

    [[UIApplicationsharedApplication]openURL:url];

    }

    }

    }```

    App1中的操作

    注意:

    (1)在这里,跳转是通过一个 URL 进行跳转的,所以这里我们设置的跳转地址要符合URL的格式, 例如:直接跳入应用: App2:, 跳入应用 a 界面: App2:a ,跳入应用 a 界面加传值: App2:a?balabala......

    (2)iOS10之后,关于跳转的方法进行了重写, openURL 被弃用,启用了```[UIApplication sharedApplication]openURL:<#(nonnull NSURL *)#> options:<#(nonnull NSDictionary *)#> completionHandler:<#^(BOOL success)completion#>```

    <2>接收端的操作

    在跳转成功之后,在被跳转的应用中会调用`-(BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url`方法,在这里设置你要做的事.

    进行操作

    后言

    互联网时代的今天,我们都是站在巨人的肩膀上看着这个世界,共勉!

    附上 github:GitHub - Memsory/JianShu,多谢star

    相关文章

      网友评论

        本文标题:2.iOS:App之间的相互跳转

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