ios应用间跳转(一)知识回顾

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 ->+ -> 配置协议头
ios应用间跳转(一)知识回顾_第1张图片
配置url.png

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 详解:

你可能感兴趣的:(ios应用间跳转(一)知识回顾)