ios兩個(gè)App之間互相跳轉(zhuǎn)傳值

App跳轉(zhuǎn)ios10之前和ios10之后分別是通過(下面我介紹的主要是oc ?swift的可以去這里看一下

//ios10之前

- (BOOL)openURL:(NSURL*)url


//ios10之后

- (void)openURL:(NSURL*)url options:(NSDictionary *)options

completionHandler:(void?(^?__nullable)(BOOL?success))completion

現(xiàn)在變?yōu)槿齻€(gè)參數(shù) ?(圖A是我在實(shí)際應(yīng)用中遇到的問題和使用方法 有興趣的可以研究一下 也可以提一下意見)

1.打開App的URL

2.可選字典參數(shù)(請(qǐng)參見以下有效條目)。傳入一個(gè)空字典可以達(dá)到openURL:一樣的行為。

3.執(zhí)行成功后completionhandler在主隊(duì)列中回調(diào)。如果你并不關(guān)心它的返回狀態(tài)也可以傳空。


A



1)創(chuàng)建兩個(gè)項(xiàng)目AppOne和AppTow 這一步起好名字可以好區(qū)分就可以了 ?

2)配置AppOne和AppTow

圖1


圖2

如圖配置好URL Schemes 如果你只想AppOne 跳轉(zhuǎn)到AppTow? 就可以值配置AppTow 。AppOne這里可以為空?



3)如果是ios9之前 這樣就配置就完成了 ?但是如果是ios9之后的系統(tǒng) ?則需要加入白名單否則App跳轉(zhuǎn)會(huì)失敗 需要做下圖的白名單配置


圖3

在項(xiàng)目plist文件里面? 增加LSApplicationQueriesSchemes數(shù)組? 把允許跳轉(zhuǎn)的URL Schemes增加到這個(gè)數(shù)組里面即可


5)代碼

圖4

如圖配置好 AppDelegate里面的application: openURL: options:代理方法

這個(gè)方法是當(dāng)有App跳轉(zhuǎn)過來的時(shí)候會(huì)調(diào)用? 如果跳轉(zhuǎn)過來的App有參數(shù) 也可以從這個(gè)方法里面接受解析出來做后續(xù)操作? 如自己App跳轉(zhuǎn)到支付寶支付寶根據(jù)我們app傳入的操作做后續(xù)的支付或者其他操作等? 并且傳的參數(shù)可以為圖片或者其它類型的?。?a href="http://www.itdecent.cn/u/61336d7b1553" target="_blank">大家可以看看作者icetime17 的文章研究一下?)


圖5

下面就是跳轉(zhuǎn)了? 實(shí)際跳轉(zhuǎn)中 我們需要判斷一下設(shè)備是否安裝了 我們要跳轉(zhuǎn)的App? 根據(jù)[[UIApplicationsharedApplication]canOpenURL:ourURL]來判斷? 如果安裝了 ?就可以使用我們上面說的? ios10之前和之后的方法進(jìn)行 跳轉(zhuǎn)了? ios10之后的跳轉(zhuǎn)可以在block里面做跳轉(zhuǎn)成功后的操作?


下面是我簡單寫的兩個(gè)demo ?不喜勿碰

JumpApp

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容