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添加到跳轉到的應用的白名單中
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容