/// 打開微信
extension String{
/// 打開url
func openAsUrl(backAlert:@escaping ()->Void){
let url = NSURL(string:self)
if let resultUrl = url,UIApplication.shared.canOpenURL(resultUrl as URL){
UIApplication.shared.open(resultUrl as URL, options: [:], completionHandler: nil)
}else {
backAlert()
}
}
}
/// 打開微信
func openWeixin(){
"weixin://".openAsUrl{
self.showAlert(message:"未檢測到微信APP")
}
}
複製代碼
其中須要注意的是iOS 9 系統策略發生了更新,限制了http協議的訪問,此外應用須要在「Info.plist」中將要使用的URL Schemes列爲白名單,纔可正常檢查其餘應用是否安裝。下附上經常使用APP的url。swift
<key>LSApplicationQueriesSchemes</key>
<array>
<string>douyutv</string>
<string>mqqapi</string>
<string>mqq</string>
<string>mqqOpensdkSSoLogin</string>
<string>mqqconnect</string>
<string>mqqopensdkdataline</string>
<string>mqqopensdkgrouptribeshare</string>
<string>mqqopensdkfriend</string>
<string>mqqopensdkapi</string>
<string>mqqopensdkapiV2</string>
<string>mqqopensdkapiV3</string>
<string>mqzoneopensdk</string>
<string>wtloginmqq</string>
<string>wtloginmqq2</string>
<string>mqqwpa</string>
<string>mqzone</string>
<string>mqzonev2</string>
<string>mqzoneshare</string>
<string>wtloginqzone</string>
<string>mqzonewx</string>
<string>mqzoneopensdkapiV2</string>
<string>mqzoneopensdkapi19</string>
<string>mqzoneopensdkapi</string>
<string>mqqbrowser</string>
<string>mttbrowser</string>
<string>sinaweibohd</string>
<string>sinaweibo</string>
<string>sinaweibosso</string>
<string>weibosdk</string>
<string>weibosdk2.5</string>
<string>weixin</string> //微信
<string>wechat</string>
</array>
複製代碼