1、什么是URL?
URL : 统一 资源定位符
eg: http://www.baidu.com tel://110 file:///yang/desktop
2、URL 的组成
协议头Scheme: http:// tel:// file://
资源路径: www.baidu.com 110 /yang/desktop/
3、ios 项目中配置URL
项目->info->url types ->+ -> 配置协议头

4、跳转到其他app(打开其他app)
-
step1 需要在源APP中设置目标APP的URL scheme (URLTypes)否则在执行方法:[[UIApplication sharedApplication] canOpenURL:weixinURL] 时,结果为NO
-
step2 在源app 中设置的URL scheme 需要和目标APP中设置的URL scheme相同,否则:[[UIApplication sharedApplication] canOpenURL:weixinURL] 结果为yes 但是[[UIApplication sharedApplication] openURL:weixinURL];执行后目标APP仍然打不开
范例代码:
- (void)openWeiXin{
// 1.创建要打开的App的URL
NSURL *weixinURL = [NSURL URLWithString:@"weixin://"];
// 2.判断是否该URL可以打开
if ([[UIApplication sharedApplication] canOpenURL:weixinURL]) {
// 3.打开URL
[[UIApplication sharedApplication] openURL:weixinURL];
}
}
5、被其他APP打开
- 情况1:
当APP处于打开状态的被其他APP 使用openURL: 方法打开后会调用下面的方法
/**
* 当通过别应用打开该应用的时候会执行该方法
* @param sourceApplication 源APP 的bundleID
* @param url 通过哪一个URL跳转过来的
*/
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
NSString *urlStr = url.absoluteString;
NSLog(@"sourceApplication: %@",sourceApplication);
NSLog(@"url: %@", urlStr);
return YES;
}
6、常用的iOS URL跳转地址
蜂窝网络:prefs:root=MOBILE_DATA_SETTINGS_ID
VPN — prefs:root=General&path=Network/VPN
Wi-Fi:prefs:root=WIFI
定位服务:prefs:root=LOCATION_SERVICES
个人热点:prefs:root=INTERNET_TETHERING
关于本机:prefs:root=General&path=About
辅助功能:prefs:root=General&path=ACCESSIBILITY
飞行模式:prefs:root=AIRPLANE_MODE
锁定:prefs:root=General&path=AUTOLOCK
亮度:prefs:root=Brightness
蓝牙:prefs:root=General&path=Bluetooth
时间设置:prefs:root=General&path=DATE_AND_TIME
FaceTime:prefs:root=FACETIME
设置:prefs:root=General
键盘设置:prefs:root=General&path=Keyboard
iCloud:prefs:root=CASTLE
iCloud备份:prefs:root=CASTLE&path=STORAGE_AND_BACKUP
语言:prefs:root=General&path=INTERNATIONAL
定位:prefs:root=LOCATION_SERVICES
音乐:prefs:root=MUSIC
Music Equalizer — prefs:root=MUSIC&path=EQ
Music Volume Limit — prefs:root=MUSIC&path=VolumeLimit
Network — prefs:root=General&path=Network
Nike + iPod — prefs:root=NIKE_PLUS_IPOD
Notes — prefs:root=NOTES
Notification — prefs:root=NOTIFICATIONS_ID
Phone — prefs:root=Phone
Photos — prefs:root=Photos
Profile — prefs:root=General&path=ManagedConfigurationList
Reset — prefs:root=General&path=Reset
Safari — prefs:root=Safari
Siri — prefs:root=General&path=Assistant
Sounds — prefs:root=Sounds
Software Update — prefs:root=General&path=SOFTWARE_UPDATE_LINK
Store — prefs:root=STORE
Twitter — prefs:root=TWITTER
Usage — prefs:root=General&path=USAGE
Wallpaper — prefs:root=Wallpaper
ios应用间跳转(二)URL Scheme 详解:
网友评论