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添加到跳转到的应用的白名单中