iOS喚醒啓動外部APP(微信、微博等)

一、代碼示例(swift)

/// 打開微信
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>
複製代碼
相關文章
相關標籤/搜索