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>
复制代码
相关文章
相关标签/搜索