1.應(yīng)用通過(guò)配置URL schemes進(jìn)行標(biāo)識(shí)(可以配置多個(gè)URL schemes)。跳轉(zhuǎn)到其他應(yīng)用就必須知道這個(gè)應(yīng)用的URL schemes蒲稳。
// 1.判斷手機(jī)中是否安裝了對(duì)應(yīng)的應(yīng)用程序
//1.1iOS9以后用canOpenURL:方法必須將要跳轉(zhuǎn)的引用 的URL schemes配置到Info.plist文件中(即加入白名單)
// <key>LSApplicationQueriesSchemes</key>
// <array>
// <string>URL schemes</string>
// </array>
if ([[UIApplication sharedApplication] canOpenURL:url]) {
// 2.打開應(yīng)用程序
[[UIApplication sharedApplication] openURL:url];
}
2.跳轉(zhuǎn)到的應(yīng)用可以通過(guò)應(yīng)用的代理方法截取到傳入的URL schemes
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url NS_DEPRECATED_IOS(2_0, 9_0, "Please use application:openURL:options:") __TVOS_PROHIBITED;
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation NS_DEPRECATED_IOS(4_2, 9_0, "Please use application:openURL:options:") __TVOS_PROHIBITED;
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options NS_AVAILABLE_IOS(9_0);
3.跳轉(zhuǎn)到的應(yīng)用想返回到原來(lái)的應(yīng)用
//1.直接使用這個(gè)方法返回到原來(lái)的應(yīng)用
//前提是當(dāng)前應(yīng)用截取到URL schemes包含原來(lái)應(yīng)用的URL schemes
[[UIApplication sharedApplication] openURL:url]
// 2. iOS9以后用canOpenURL:判斷的話,必須將原來(lái)應(yīng)用的URL schemes添加到跳轉(zhuǎn)到的應(yīng)用的白名單中