1. 程式人生 > >qq 微信 launcher,如何跳轉到上千款應用

qq 微信 launcher,如何跳轉到上千款應用

launcher曾經風靡一時,它有數千款應用的跳轉方式。qq 微信開放登陸、支付等方式後,幾千款應用接入。他們都需要openurl進行跳轉。

ios9以前,想要跳轉一個應用,只需要知道對應的url-scheme,直接呼叫openURL即可,例如微信

[[UIApplication sharedApplication] openURL:@"weixin://"];

如果想知道是否安裝了微信,可以呼叫canOpenURL:

[[UIApplication sharedApplication] canOpenURL:@"weixin://"];

到了ios9,事情發生了一點變化,首先info.plist出現了一個LSApplicationQueriesSchemes的配置,叫做白名單,蘋果想要限制應用可跳轉的應用必須先配置宣告。也就是說,寫在LSApplicationQueriesSchemes的url-scheme才可以呼叫,而這個名單的限制是50個。

這下qq 微信有困難了,那麼多註冊應用,而且是動態增加的,如果無法正常回調,眾多平臺型應用豈不是廢掉了。

後來蘋果果然修改了策略,LSApplicationQueriesSchemes只限制canOpenURL:,如果不需要檢查是否安裝應用,依然可以直接呼叫openURL:,成功返回YES,失敗返回NO。

這樣的策略,使得應用謹慎的新增LSApplicationQueriesSchemes,對那些需要準確知道是否安裝的應用才新增到列表,以便進行安裝/開啟的對應引導。