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

从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 *)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 添加

跳到设置页面以及App间跳转_第1张图片
8D4E2F58-4406-4634-94E5-75ECECE01714.png

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

跳到设置页面以及App间跳转_第2张图片
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 *)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://[email protected]"]]; 

调用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间跳转)