有時候由於應用的限制,我們需要在應用內調用外部瀏覽器去打開一個網頁鏈接。比如調用QQ瀏覽器。
此時可以在iTunes Stroe中下載QQ瀏覽器的ipa安裝包,然後在我的應用程序中右擊選擇”在Finder中顯示”。之後解壓縮安裝包。在打開的文件夾中選擇Payload。選擇mttlite右擊”顯示包內容”。
找到Info.plist文件並打開,找到URL TYPE並展開
可以看到URL Schemes爲mttbrowser
同樣的可以知道UC瀏覽的URL Schemes爲ucbrowser
所以在代碼中我們可以這樣寫。有時可能因爲瀏覽器的差異會有不同
//QQ瀏覽器
NSString *toQQStr = [NSString stringWithFormat:@"mttbrowser://url=%@",url];
NSURL *toQQURL = [NSURL URLWithString:toQQStr];
[[UIApplication sharedApplication] openURL:toQQURL];
//UC瀏覽器
NSString *toUCStr = [NSString stringWithFormat:@"ucbrowser://%@",url];
NSURL *toUCURL = [NSURL URLWithString:toUCStr];
[[UIApplication sharedApplication] openURL:toUCURL];
但有時因爲我們的手機中並未安裝相關的應用,即調用
UIApplication中openURL方法返回false
則需要提示用戶下載並自動進入到App Store 中的應用下載頁。
那麼問題來了,如何從應用內進入到App Store指定應用的下載頁呢
我們可以在App Store中搜索應用點擊分享按鈕 選擇短信分享。即可獲取到該應用下載頁的地址。如QQ瀏覽器在App Sore中的下載地址就是https://appsto.re/cn/Mc-dw.i
之後可以通過代碼
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://appsto.re/cn/Mc-dw.i"]];
去打開應用在App Store中的下載頁。