這段時(shí)間的一個(gè)項(xiàng)目,有個(gè)需求是跳轉(zhuǎn)第三方app块差,本機(jī)有安裝的話,按鈕就顯示“打開”倔丈,否則為“下載”憨闰。
如下圖所示:
首先在調(diào)查好了這幾個(gè)app的url schemes,比如網(wǎng)易云音樂的是 orpheus 需五,接著在info.plist的LSApplicationQueriesSchemes 和 CFBundleURLName 配置好這幾個(gè)參數(shù)鹉动。
我使用這個(gè)方法來判斷是否有安裝app [[UIApplication sharedApplication] canOpenURL:@""];
BOOL isInstalled = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:model.scheme]];
[self.openButton setTitle:isInstalled ? @"打開":@"下載" forState:UIControlStateNormal];
運(yùn)行項(xiàng)目
emmm.....啥情況,咋顯示的都是打開宏邮。
且不說有安裝的網(wǎng)易云音樂泽示,其他兩個(gè)明明手機(jī)里沒有安裝的,咋都顯示是打開的了蜀铲。边琉。canOpenURL返回的都是YES。
網(wǎng)上查了下各種跳轉(zhuǎn)app的博客資料记劝,都說醬紫配置就ok变姨。。 - - 這是我手機(jī)有毒厌丑?
然后多看了幾篇定欧,有的沒有提到CFBundleURLName這個(gè)需要配置渔呵,接著我就把CFBundleURLName這里面的幾個(gè)參數(shù)給刪了。
重新運(yùn)行
居然可以了?仇扩氢!跳轉(zhuǎn)功能啥的也都正常。 我不曉得是不是我自己記錯(cuò)了爷辱,一直都記得這兩個(gè)都是要配置的录豺。
萌新在此記錄下。