天天看點

應用之間的跳轉

涉及到跳轉的幾種常見情況

1. 使用第三方登入時,需要跳轉到社交app,比如QQ,微信等。

2. 內建分享功能,目的是推廣我們的app,分享消息到其他app,比如分享到QQ,微信等

3. 第三方支付,比如支付寶支付、微信支付等

4. 導航,需要跳轉到系統自帶的地圖

5. 還有跳轉到系統的app,比如打電話、發短信等

1. 應用跳轉是根據協定頭跳轉的,想跳到哪個app,就需要去找對應app的URL scheme,open URL: ,一般需要判斷,不判斷的話,可以直接跳轉,不用設定白名單,如果判斷了,就必須要設定白名單,其實能不能打開就是看有沒有添加白名單;A跳B,在A中添加白名單

2. 如果想跳轉到指定的界面,需要在URL中給目标app傳入自定義辨別(red或blue),在appDelegate的方法application: openURL: 截取對應的字元串來進行相應的跳轉;

3. 如果想點選按鈕做傳回跳轉,需要在跳轉的URL中添加自己app的URL scheme,同樣在上面方法中截取字元串。擷取bundle中的urlscheme,把要傳回的url傳遞給destination應用,以便于傳回跳轉,可以在appDelegate中用一個屬性來儲存這個字元串。

一有canopenURL:判斷,就需要設定白名單,但是在傳回時第三方app是怎麼安排的并不需要關心

4. 關于上述的URLString,如果第三方app是自己開發的,那麼就可以自定義,如:@"destination://red?自己的URL scheme",如果是跳轉到其他公司的app,則需要根據開發文檔來進行相關的定義。

繼續閱讀