info里面配置它的 schemes 為對應(yīng)app的如:openapp.jdMobile.
<key>LSApplicationQueriesSchemes</key>
里面配置
<string>openapp.jdmobile</string>
直觀一點(diǎn)就在info.plist里面配置.
將fbauth2更改為openapp.jdmobile即可.png
然后 跳轉(zhuǎn)url即可
else if([url fq_ContainsString:@"openapp.jdmobile://virtual?"]){ if ([[UIApplication sharedApplication] canOpenURL:requestURL]) { [[UIApplication sharedApplication] openURL:requestURL]; }else{ // 打開京東下載連接 NSURL * url = [NSURL URLWithString:@"https://itunes.apple.com/cn/app/shou-ji-jing-dong-xin-ren/id414245413?l=en&mt=8"]; [[UIApplication sharedApplication] openURL:url]; }
這樣就可以了
中間出現(xiàn)一個bug.不明白URLSchemes什么意思.添加了白名單.
QQ20161125-3.png
這樣我們無論有沒有下載對應(yīng)的app.在調(diào)用[[UIApplication sharedApplication] canOpenURL:requestURL]
方法的時候都會返回yes.并沒有達(dá)到判斷的效果.
在<key>LSApplicationQueriesSchemes</key>中配置的白名單.是需要跳轉(zhuǎn)到的app設(shè)置的url.我們跳轉(zhuǎn)的時候.如果有下載這個app.那么可以拿這個白名單做判斷.如果在這個白名單里面就代表有這個app.
而在URLSchemes是我們自己的設(shè)置的url(key),別人要是跳轉(zhuǎn)到我們app.就需要在<key>LSApplicationQueriesSchemes</key>中配置我們的url(key)!這樣就一直在我們白名單列里面.所以在這里配置以后[[UIApplication sharedApplication] canOpenURL:requestURL]
判斷返回一直為yes.(個人這么理解!)
感謝:http://sspai.com/31500#09 獲取任意app.URLSchemes的方法