iOS应用间跳转

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添加到跳转到的应用的白名单中
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容