1.應用通過配置URL schemes進行標識(可以配置多個URL schemes)。跳轉到其他應用就必須知道這個應用的URL schemes。
// 1.判斷手機中是否安裝了對應的應用程序
//1.1iOS9以后用canOpenURL:方法必須將要跳轉的引用 的URL schemes配置到Info.plist文件中(即加入白名單)
// <key>LSApplicationQueriesSchemes</key>
// <array>
// <string>URL schemes</string>
// </array>
if ([[UIApplication sharedApplication] canOpenURL:url]) {
// 2.打開應用程序
[[UIApplication sharedApplication] openURL:url];
}
2.跳轉到的應用可以通過應用的代理方法截取到傳入的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.跳轉到的應用想返回到原來的應用
//1.直接使用這個方法返回到原來的應用
//前提是當前應用截取到URL schemes包含原來應用的URL schemes
[[UIApplication sharedApplication] openURL:url]
// 2. iOS9以后用canOpenURL:判斷的話,必須將原來應用的URL schemes添加到跳轉到的應用的白名單中