美文网首页
跳到设置页面以及App间跳转

跳到设置页面以及App间跳转

作者: 叫我小黑 | 来源:发表于2018-10-23 22:08 被阅读0次

    从APP跳转至设置页面

    跳转的URL写法:    
    设置页面 App-Prefs:root(之前在那个设置页面,就跳转到相应的设置页面)      
    无线局域网 App-Prefs:root=WIFI
    蓝牙 App-Prefs:root=Bluetooth
    蜂窝移动网络 App-Prefs:root=MOBILE_DATA_SETTINGS_ID
    个人热点 App-Prefs:root=INTERNET_TETHERING
    运营商 App-Prefs:root=Carrier
    通知 App-Prefs:root=NOTIFICATIONS_ID
    通用 App-Prefs:root=General
    通用-关于本机 App-Prefs:root=General&path=About
    通用-键盘 App-Prefs:root=General&path=Keyboard
    通用-辅助功能 App-Prefs:root=General&path=ACCESSIBILITY
    通用-语言与地区 App-Prefs:root=General&path=INTERNATIONAL
    通用-还原 App-Prefs:root=Reset
    墙纸 App-Prefs:root=Wallpaper
    Siri App-Prefs:root=SIRI
    隐私 App-Prefs:root=Privacy
    Safari App-Prefs:root=SAFARI
    音乐 App-Prefs:root=MUSIC
    音乐-均衡器 App-Prefs:root=MUSIC&path=com.apple.Music:EQ
    照片与相机 App-Prefs:root=Photos
    FaceTime App-Prefs:root=FACETIME
    

    使用例子

    #define iOS10 ([[UIDevice currentDevice].systemVersion doubleValue] >= 10.0)
     //宏定义,判断是否是 iOS10.0以上
    
    NSString * urlStr = @"App-Prefs:root=Bluetooth";
        if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:urlStr]]) {
            if (iOS10) {
                //iOS10.0以上  使用的操作
                [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr] options:@{} completionHandler:nil];
            } else 
            {
                //iOS10.0以下  使用的操作
                [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];
            }
        }
    
    //iOS10.0以上 ,使用的操作方法
    - (void)openURL:(NSURL*)url options:(NSDictionary<NSString *, id> *)options completionHandler:(void (^ __nullable)(BOOL success))completion NS_AVAILABLE_IOS(10_0) NS_EXTENSION_UNAVAILABLE_IOS("");
    
    //iOS10.0以下,使用的操作方法
    - (BOOL)openURL:(NSURL*)url NS_DEPRECATED_IOS(2_0, 10_0, "Please use openURL:options:completionHandler: instead") NS_EXTENSION_UNAVAILABLE_IOS("");
    

    注:prefs:root= 在iOS10以上的系统没作用了,而且可能会被app store 拒绝,应该这不是公开的URL Scheme了

    APP之间的跳转

    添加一个URL type URL Schemes设置为APP的跳转标识(其道理同设置页面的跳转) 如何skipToFirst
    在第一个APP的info.plist中的 URL types 添加

    8D4E2F58-4406-4634-94E5-75ECECE01714.png

    在第二个APP的info.plist中添加白名单 LSApplicationQueriesSchemes

    ED2CD19E-B95C-429B-AB8F-FA5B70663486.png

    在第二个APP中,在需要跳转到第一个APP的地方,添加以下代码:

     NSString * URLString = @"skipToFirst://";
     NSURL * url = [NSURL URLWithString:URLString];
     [[UIApplication sharedApplication] openURL:url];
    

    重新运行第二个APP,并且触发跳转到第一个APP的事件,就完成APP之间的跳转了。

    APP间的传值

    实现APP间跳转的功能。
    跳转的代码修改为

    NSString * URLString = [NSString stringWithFormat:@"skipToFirst://userName=%@&password=%@",@"userName",@"123456"];
    NSURL * url = [NSURL URLWithString:URLString];
    [[UIApplication sharedApplication] openURL:url];
    

    在第一个App的AppDelegate中

    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
    {
        NSString *urlStr = [url absoluteString];  //转化为 完整的url字符串
        NSLog(@"%@",urlStr);
        
        return YES;
    }
    
    //iOS9之后苹果建议用
    - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
    {
        NSString *urlStr = [url absoluteString];  //转化为 完整的url字符串
        NSLog(@"%@",urlStr);
        
        return YES;
    }
    

    这样就获取到了urlStr字符串,之后就是自己根据需要的数据对里面的字符串进行处理。

    [[UIApplication sharedApplication] openURL: ]其他应用

    调用电话拨号

    // 拨打电话时,不出现确认框
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://13800138000"]]; 
    
    // 拨打电话时,弹出确认框
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://800888"]];
    

    调用自带Mail

    //mailto后加自己账户
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@yourName.com"]]; 
    

    调用safari

    // 调到百度主页
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.baidu.com"]]; 
    

    调用短信SMS

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://10086"]];
    

    调用app Store

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://"]];
    

    调用iBook

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-books://"]];
    

    调用 Map

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"maps://"]];
    

    调用 Facetime➕自己账户

    //注意后面加上faceTime的账号
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"facetime://"]]; 
    

    常用的App的URL Schemes

    “QQ”的url是 mqq:// 
      “微信”是 weixin:// 
      “淘宝”是 taobao:// 
      “点评”是 dianping://     dianping://search 
      “微博”是 sinaweibo:// 
      “名片全能王”是 camcard:// 
      “weico微博”是 weico:// 
      “支付宝”是 alipay:// 
      “豆瓣fm”是 doubanradio:// 
      “微盘”是 sinavdisk:// 
      “网易公开课”是 ntesopen://
      “美团”是 i**:// 
      “京东”是 openapp.jdmoble:// 
      “人人”是 renren:// 
      “我查查”是 wcc:// 
      “1号店”是 wccbyihaodian:// 
      “有道词典”是 yddictproapp:// 
      “知乎”是 zhihu://
      “优酷”是  youku://
    

    跳转到淘宝

    NSString * urlString = @"taobao://";
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString] ];
    

    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://】;
      一个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:【i**://】;
      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://】;
      扇贝炼句:【wx6cf98af31a47ba29://】;
      百词斩:[wxce5d9e837051d623://】;
      微盘:【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://】;
      diesel facts:【dk.publishonline.dieselfacts.china://】;【dps.9aebe5a79fb04d9abddf77d97c6794dc://】;
      欧陆词典pro:【eudic://】;
      拓词:【towordsp://】;
      瘦身旅程:【sina.5253876156240b2daf015c9d://】;
      词ci:【wx599b00cd734bd4a9://】;
    

    参考:APP跳转 及iOS10跳转在设置页面

    相关文章

      网友评论

          本文标题:跳到设置页面以及App间跳转

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