美文网首页
iOS 两个app之间的相互跳转

iOS 两个app之间的相互跳转

作者: Dylan_kuang | 来源:发表于2018-07-28 16:56 被阅读16次

    不带参数跳转

    我们所做的是从项目changeA跳转到项目changeB

    1、首先创建两个项目changeA和changeB

    2、打开changeB来到info.plist文件里面

    changB
    如图所示:新建一个URL types
                        URL identifier(填写本项目的 bundle id)
                        URL Schemes (自定义的一个key:别人跳转到本app时候就需要用到这个key,// 这里设置key为ProjectB)
    

    3、在changea的info.plist里面加上

    changA
    如图所示:LSApplicationQueriesSchemes 
    //  这个字段后面添加的是需要跳转去的app的key(我们需要跳转去changeB,而在之前设置了B的key值为ProjrctB,所以这里填ProjectB)如果不加上这个字段的话,直接跳转是可以过去的,但是如果进行判断canOpenURL会报错。
    

    4、在btn的click方法里面添加如下代码

      //  判断是不是安装了这个程序
        BOOL canPush = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"ProjectB://"]];
        
          NSLog(@"canPush : %d", canPush);
        
        if (canPush) {
            
             [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"ProjectB://"]];
        }else{
            
              NSLog(@"应用程序未安装");
        }
    
    

    带参数跳转

    1、前面项目配置都是一样的
    2、在changeA按钮的click方法里面写入代码

        //  判断是不是安装了这个程序
        BOOL canPush = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"ProjectB://"]];
        
        NSLog(@"canPush : %d", canPush);
        
        if (canPush) {
            // url:ProjectB://params?param1=111&param2=222
           [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"ProjectB://params?param1=111&param2=222"]];
            
        }else{
            // 调用自带 浏览器 safari 打开百度
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.baidu.com"]];
            NSLog(@"应用程序未安装");
        }
        
    

    3、在changeB项目的Appdelegate.m里面

    //  系统启动就会来这个方法
    - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options{
    //  自己记得定义一个url哟,在Appdelegate里面
        self.url = url;
    
       ViewController *rootViewController = [[ViewController alloc]init];
        
        //  进来执行打开url方法
        [rootViewController showOpenURLData];
        
        return YES;
    }
    

    4、然后在相应的地方制定showOpenURLData方法;记得设置public哟

    /**
     进来展示数据
     */
    -(void)showOpenURLData{
        
        NSURL * url = ((AppDelegate *)[UIApplication sharedApplication].delegate).url;
        ;
        
        NSLog(@"url = %@",url);
        
        if(url){
            //        显示一下从A获取的url,url = ProjectB://params?param1=111&param2=222
            self.label.text = [NSString stringWithFormat:@"url = %@,host = %@",[url absoluteString],[url host]];
            
            NSLog(@"[url absoluteString]= %@",[url absoluteString]);// ProjectB://params?param1=111&param2=222
            
            NSLog(@"[url host] = %@",[url host]);// params
            
            //根据传过来的url的host进行一些操作
            if ([[url host]isEqualToString:@"params"]) {
                
                self.sencondLabel.text = @"host";
            }
        }
    }
    

    5、自己解析这些参数吧,我这里看见一个不错的blog,大家可以参考下

    url param参数解析.

    附件

    附件来自:wm9028的专栏.
    // 我只是自己保存在方便查找

    打开系统自带app
    打开系统设置:
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];  
       打开蓝牙:
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=Bluetooth"]]; 
       打开TWitter:   [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=TWITTER"]]; 
      
    调用 自带mail
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@hzlzh.com"]];
    调用 电话phone
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://8008808888"]];
    调用 SMS
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://800888"]];
    调用自带 浏览器 safari
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.hzlzh.com"]];
    常用的本地的url:
     
    launch center pro支持的参数主要有两个,[prompt]文本输入框和[clipboard]剪贴板
    
    淘宝宝贝搜索 taobao://http://s.taobao.com/?q=[prompt]
    淘宝店铺搜索taobao://http://shopsearch.taobao.com/browse/shop_search.htm?q=[prompt]
    
    omnifocus:///add?name=[prompt]&note=[clipboard]
    mdict://[prompt]
    
    QQ的url是 mqq://
    微信是weixin://
    淘宝taobao://
    点评dianping:// dianping://search
    微博 sinaweibo://
    名片全能王camcard://
    weico微博weico://
    支付宝alipay://
    豆瓣fm:doubanradio://
    微盘 sinavdisk://
    网易公开课ntesopen://
    美团 imeituan://
    京冬openapp.jdmoble://
    人人renren://
    我查查 wcc://
    1号店wccbyihaodian://
    有道词典yddictproapp://
    知乎zhihu://
    优酷 youku://
    
    以下为ipad版url schemes:
    
    ZAKER :【zakeripad://】
    mdict:【mdict://】
    京东hd:【openApp.jdiPad://】
    易迅:【wx6964eb0b10aa369b://】;【icson://】;【wap2app://】;【com51buyiPad://】;【sinaweibosso.2217266362://】;【yixunipad://】;
    wunderlist:【fb208559595824260://】;【wunderlist://】;
    1password:【db-0bcm217bz8olcxj://】;
    支付宝:【alipay://】;
    亚马逊:【fb115829135094686://】;
    查找朋友:【grenada://】;【findmyfriends://】;【fmf1://】;
    查找iphone:【fmip1://】;
    homestyler:【fb110202249127916://】;
    百度旅游hd:【sinaweibosso.3772466956://】;
    百度视频hd:【BaiduVideoiPad://】;【baiduvideoipadapp://】;
    百度相册hd:【BaiDuCloudAlbumHD://】;
    百度音乐hd:【tencent100518384://】;【QQ05FDC9F0://】;【wxdeda8b7428c87b0b://】;【sinaweibosso.4257500584://】;【BaiduMusicHD://】;
    百度浏览器hd:【bdbrowser://】;
    百度文库hd:【bdwenku://】;
    百度地图hd:【sinaweibosso.675661989://】;
    百度云:【tencent100312028://】;
    扇贝炼句:【wx6cf98af31a47ba29://】;
    百词斩:[wxce5d9e837051d623://】;
    一个one:【clover-one://】;
    launchpro:【launch://】;【launchpro://】;【launchpro-light://】;【launchpro-dial://】;【launchpro-tweet://】;【launchpro-brightness://】;【launchpro-messaging://】;【launchpro-email://】;【launchpro-dropbox://】;【launchpro-clipboard://】;【launchpro-facebook://】;【launchpro-sinaweibo://】;【launch-textexpander://】;【db-23algz5zbfx3ocs://】;【launchipad://】;
    当当hd:【dangdanghd://】;【ddhd://】;
    大众点评hd:【dianpinghd://】;
    多看阅读:【duokan-reader://】;
    艺龙旅行hd:【elongiPad://】;
    圈点hd:【skitch://】;
    食记hd:【wxb9a9141190826bd8://】;
    印象笔记hd:【enx://】;
    popAgraph:【popagraphtumblr://】;
    dropbox:【db-auth://】;【dbapi-1://】;【dbapi-2://】;【dbapi-3://】;【fb210019893730://】;
    goodreader:【ghttp://】;【ghttps://】;【grhttp://】;【grhttps://】;【giwhttp://】;【giwhttps://】;【gropen://】;【com.goodreader.sendtogr://】;
    houzz:【fb166981393359376://】;
    ifttt:【ifttt://】;
    名片全能王hd:【camcard://】;【fb444471182246461hdfull://】;【CamCardHDOpenAPI://】;
    万年历:【wx5f3a0d4653cd3485://】;
    拉手团购hd:【LaShouGroupHDPay://】;
    美团hd:【iMeituan://】;
    evermemo:【evermemo://】;
    网易云课堂:【wangyiyunketang://】;
    网易公开课:【ntesopen://】;
    订票助手2:【trainassistfree://】;
    pcalc lite:【pcalc://】;
    爱奇艺视频:【QIYIHD-iPad://】;
    documents:【fb435446596521711://】;
    三国kill:【sgk://】;
    知乎日报hd:【wb2812384762://】;【wb801442902://】;【wx81bd672c6e11bad0://】;【QQ05FE6368://】;【tencent100557672://】;【pocketapp89757://】;
    扇贝新闻:【shanbaynews://】;
    扇贝单词:【shanbay://】;
    扇贝单词hd:【shanbaywordshd://】;
    微盘:【sinaweibosso.2938478327://】;【sinavdisksso.2938478327://】;
    新浪公开课:【wxa376b1970423b610://】;
    skype:【skype://】;
    什么值得买hd:【wxed08b6c4003b1fd5://】;
    搜狐视频hd:【sohu-SViPad://】;【sohuvideohd://】;【wx91d741cfa16379bc://】;
    teamviewer:【teamviewer8://】;
    格志:【griddiary://】;【sumi-interactive://】;【db-d7wn1aiwz2ck3tj://】;
    淘宝hd:【taobao://】;【itaobao://】;【taobaohd://】;【wx25e5e60c1e9fcd97://】;【sinaweibosso.346252009://】;【zhuzhancaipiao4ipad://】;【laiwangc6e34c6bf://】;
    天猫:【tmall://】;
    腾讯视频hd:【tenvideohd://】;【tenvideo2://】;
    qq通讯录:【tencentappqqpim://】;
    qq:【mqqflyticket://】;
    微信:【weixin://】;【fb290293790992170://】;【wechat://】;
    同步推正版HD:【tbtui://】;【tuihd://】;
    航旅纵横pro:【sinaweibosso.umetrip://】;【umetrippro://】;
    mathpad:【myscriptmathpad://】;
    下厨房:【wxd80665a1fc1bf282://】;
    无忌论坛:【wb801384327://】;【wxe932dc78276c3c24://】;【wb1315970163://】;
    雅虎天气!:【yweather://】;
    一号店:【ipadstore://】;
    优酷hd:【youkuhd://】;
    知乎日报:【wx841a6aace4a1dca4://】;
    知乎:【zhihu://】;
    dieselfacts:【dk.publishonline.dieselfacts.china://】;【dps.9aebe5a79fb04d9abddf77d97c6794dc://】;
    欧陆词典pro:【eudic://】;
    拓词:【towordsp://】;
    瘦身旅程:【sina.5253876156240b2daf015c9d://】;
    词ci:【wx599b00cd734bd4a9://】;
     newsapp:// 新闻首页
     newsapp://vote 每日一投
    网易公开课: ntesopen://
    网易应用: apper://
    网易彩票: ntescaipiao://
    网易微博: microblogging://
    有道词典: yddictProapp:// 
    一淘火眼比价:QQ05FDCA9D://
    支付宝信用卡还款页面:alipays://platformapi/startapp?appId=09999999
    Evernote[evernote://]
    SimpleMind+[simplemind://]
    MindMeister [mindmeist://]
    Daybox[daybox://]
    QQ同步助手[qqpim://]
    福晰PDF[ boxsdk-srnspz7etrtko4y9u2tqcj8i8gzzqzm6://]
    izip[db-2vxl8w8i8zibqzc://]
    wps office[kingsoftofficeapp://]
    CAD快速看图:没找到
    有道[yddict://]
    随手记[fdmoney://]
    全国违章查询[mianfeijiaotongweizhang://](木仓科技出品的)
    Black Tower![blacktower1://]
    Stick Hero英雄难过棍子关[com.ketchapp.stickhero:/   
    

    相关文章

      网友评论

          本文标题:iOS 两个app之间的相互跳转

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