目录
1. 跳转到手机设置界面
2. 打电话/发短信/email/http/AppStore
3. 跳转同一开发者账号下的其他App
4. 跳转其他常用应用的URL
5. 短信或web 点击链接跳转到App(指定页面)
跳往AppStore项目所在页面(短信、Web、微信中可允许跳转)
https://itunes.apple.com/cn/app/id项目的ID?mt=8
1 从App跳转到iPhone设置界面
注意:
iOS10 后改为App-Prefs:(有个别失效)
// 跳转到设置---蜂窝网络
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"App-Prefs:root=MOBILE_DATA_SETTINGS_ID"]];
系统设置---本应用的设置
UIApplicationOpenSettingsURLString
无线局域网WiFi
App-Prefs:root=WIFI
蜂窝移动网络
App-Prefs:root=MOBILE_DATA_SETTINGS_ID
个人热点
App-Prefs:root=INTERNET_TETHERING
通知
App-Prefs:root=NOTIFICATIONS_ID
蓝牙
App-Prefs:root=Bluetooth
照片与相机
App-Prefs:root=Photos
通讯录
App-Prefs:root=ACCOUNT_SETTINGS
电话
App-Prefs:root=Phone
电话铃声
App-Prefs:root=Sounds&path=Ringtone
备忘录
App-Prefs:root=NOTES
Safari
App-Prefs:root=SAFARI
声音
App-Prefs:root=Sounds
音乐
App-Prefs:root=MUSIC
音乐-均衡器
App-Prefs:root=MUSIC&path=com.apple.Music:EQ
FACEBOOK
App-Prefs:root=FACEBOOK
FaceTime
App-Prefs:root=FACETIME
TWITTER
App-Prefs:root=TWITTER
iTunes Store
App-Prefs:root=STORE
iCloud
App-Prefs:root=CASTLE
iCloud下存储空间
App-Prefs:root=CASTLE&path=STORAGE_AND_BACKUP
VPN
App-Prefs:root=General&path=VPN
运营商
App-Prefs:root=Carrier
Siri
App-Prefs:root=SIRI
隐私
App-Prefs:root=Privacy
墙纸
App-Prefs:root=Wallpaper
描述文件
App-Prefs:root=General&path=ManagedConfigurationList
系统更新
App-Prefs:root=General&path=SOFTWARE_UPDATE_LINK
通用
App-Prefs:root=General
通用---语言与地区
App-Prefs:root=General&path=INTERNATIONAL
通用---日期与时间
App-Prefs:root=General&path=DATE_AND_TIME
通用---键盘
App-Prefs:root=General&path=Keyboard
通用---辅助功能
App-Prefs:root=General&path=ACCESSIBILITY
通用---关于本机
App-Prefs:root=General&path=About
通用---还原
App-Prefs:root=General&path=Reset
2. 打电话、发短信、跳邮件、跳浏览器、跳AppStore
注意:
iOS10.2之后一定会弹出 系统电话框
// 打电话/发短信/email/http/AppStore
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://13088888888"]]; // 也可+86
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://13051178888"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mail://hello@hello.com"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.baidu.com”]];
// https://itunes.apple.com/cn/app/id该项目的ID?mt=8
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"https://itunes.apple.com/cn/app/id12345678?mt=8"]];
// 是否可以打开
BOOL isCanOpen=[[UIApplication sharedApplication]canOpenURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel://%@",KF_PHONE]]];
// 解决【打电话延迟】添加options参数——@{}
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:PhoneStr] options:@{} completionHandler:^(BOOL success) {
NSLog(@"phone success");
}];
3. 跳转同一开发者账号下的其他App
App1
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"xxx://www.com.cx?x=1"]];
App2
项目 | Info | URL Types 添加Scheme :xxx
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
//
NSString *schemeStr=url.scheme;
if([schemeStr caseInsensitiveCompare:@"xxx"]==NSOrderedSame){ // 不分大小写 比较相同
}
}
4. 跳转其他常用应用的URL
QQ
mqq://
微信
weixin://
淘宝
taobao://
微博
sinaweibo://
支付宝
alipay://
京东
openapp.jdmoble://
人人
renren://
我查查
wcc://
1号店
wccbyihaodian://
有道词典
yddictproapp://
知乎
zhihu://
优酷
youku://
iBook书籍
itms-books://
Map原生地图
maps://
Facetime视频
facetime://
点评
dianping:// dianping://search
名片全能王
camcard://
weico微博
weico://
豆瓣fm
doubanradio://
微盘
sinavdisk://
网易公开课
ntesopen://
美团
i**://
5. 短信或Web 通过链接跳转App(指定页面)2方式
方式一:URL Scheme(装则跳,没装则不跳)
1. 添加URL Scheme
2. 短信或web中点击ddd://sssssbbbb则跳到App(没安装App则不跳)
但是微信中是不能跳转的,需使用方式2
3. 做额外处理(如:跳转到指定页面)
AppDelegate
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary *)options {
// ddd://id=1234567
NSString *urlStr=url.absoluteString;
if([urlStr hasPrefix:@"ddd"]){ //
NSArray *array=[urlStr componentsSeparatedByString:@"//"];
}
return true;
}
方式二:通用链接(Universal Links)
可用来从微信跳转到我们的app
1.开发者中心开启Associated Domains
2.项目 | Capabilities | Associated Domains 开启,并添加applinks:hello(必须以applinks:开头)
3.创建json文件并命名apple-app-site-association(必须且无后缀,并上传到域名根目录)
{
"applinks": {
"apps": [],
"details": [
{
"appID": "teamId.bundleId”, 需改
"paths": [ "/wwdc/news/", "/videos/wwdc/2015/*"] 可处理哪些路径
}
]
}
}
验证json文件的网址:https://search.developer.apple.com/appsearch-validation-tool/
4.AppDelegate
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{
//
if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]){
NSURL *url = userActivity.webpageURL;
if ([url.absoluteString isEqualToString:@""]){
}else{
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) {
}];
}
}
return YES;
}