适配ios9出现的问题:-canOpenURL: failed for URL

在适配iOS9时,遇到-canOpenURL: failed错误,不仅需要在项目info的URL Types中配置URL Schemes,还应在info.plist中添加可信任的应用。错误示例包括无法打开'weixin://'和'wtloginmqq2://'。解决方案包括查看官方文档,支持http协议,以及将第三方应用的scheme添加到LSApplicationQueriesSchemes。对于使用sharesdk和友盟等SDK的情况,应参考其提供的开发文档进行适配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

适配ios9出现的问题:-canOpenURL: failed for URL

除了要在项目info URL Types中设置URL Schemes,还需要在info.plist里面增加可信任的调用app,否则回报如下错误

-canOpenURL: failed for URL: "weixin://app/wx9c8771d3c07dfd30/" - error: "This app is not allowed to query for scheme weixin"

-canOpenURL: failed for URL: "wtloginmqq2://qzapp" - error: "This app is not allowed to query for scheme wtloginmqq2"

info.plist加入

 

<key>LSApplicationQueriesSchemes</key>

<array>

<string>urlscheme</string>

<string>urlscheme2</string>

<string>urlscheme3</string>

<string>urlscheme4</string>

</array>

图片描述

 

 

 

 

最好的方法是直接看官方文档,看一下配置

  1. 支持http协议

(1)暂时回退到http协议 info plist加

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

(2)添加指定域名为http白名单

 

2 涉及到客户端跳转 设置scheme到LSApplicationQueriesSchemes

 

总结:像此类问题 使用第三方的直接看别人官网就行了 要不访问提供方的如微信,QQ,支付宝API官方看开发文档
如果是用sharesdk 友盟此类的 去看他们的开发文档都会第一时间给开发者提供解决方案的

sharesdk分享 iOS9适配文档地址
http://wiki.mob.com/ios9-%E5%AF%B9sharesdk%E7%9A%84%E5%BD%B1%E5%93%8D%EF%BC%88%E9%80%82%E9%85%8Dios-9%E5%BF%85%E8%AF%BB%EF%BC%89/

友盟分享 iOS9适配地址
http://dev.umeng.com/social/ios/ios9

 

 

 

 

 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值