史上最全canOpenURL: failed问题解决办法
来源:互联网 发布:pp助手mac 编辑:程序博客网 时间:2024/06/15 05:22
史上最全canOpenURL: failed问题解决办法
由于苹果在IOS9.0开始规定在App中使用Https协议与服务器进行数据交互,导致很多原本正常的功能,莫名的就崩掉了。查看控制台 就会看到各种错误提示,例如:-canOpenURL: failed for URL: "weixin://" - error:This app is not allowed to query for scheme weixin"; canOpenURL: failed for URL: "wechat://" - error:This app is not allowed to query for scheme wechat"; App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file 等!
不要慌张,既然有提示按照提示处理即可,对症下药方能药到病除。
1、开启Http 支持,添加ATS配置
<key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><true/></dict>
2、canOpenURL: failed 问题处理
这里是本文的核心,请认真细看。App中常见的 使用QQ、微博等第三方登录或者分享到 朋友圈、QQ空间等,经常会遇到 canOpenURL: failed 问题,这个问题其实就是 sso白名单设置问题。在友盟官方有章节着重描述这个问题。可参考友盟《配置sso白名单》 ,看到这里有人就笑了。这么简单按照上面配置好了,分分钟妥妥的拿下。确实,在一般情况下按照上面两个步骤之后,问题基本就拿下了。但是……然并卵,还是 报 canOpenURL: failed 错误
我需要一把羽毛扇保持冷静!!!大胆猜想,小心求证。一阵抓狂后,又仔仔细细检查了项目配置果不然,发现了几个平时基本没注意的问题。第一个坑 Info.plist 在 Target Membership 中没有勾选,如下图:
一定要勾选,否则配置不会生效。勾选后,运行发现还是没屌用。此刻心中一万头草泥马奔腾而过……但问题还的解决啊。排查继续中,见证奇迹的时刻到了:居然是 Info.plist File 中文件路径是空的,是空的,空的,空,的……
只能说运气太差,这种问题也会被我碰到。正常情况这里是 Info.plist 的文件路径,新建项目默认就有了不需要去手动填写。万一是空的,你需要填写对应的地址,格式为:项目名/Info.plist或者项目根目录/项目名/Info.plist。 例如:Anthropometry/Info.plist 或者 $(SRCROOT)/Anthropometry/Info.plist 注意:Anthropometry 是我的项目,此处需要根据各自项目做修改。正确后可以 在 General 选项卡看到配置的信息,没有显示则说明地址不对。两者对比图如下:
都配置完成后,终于大功告成。运行下,看看效果。神马???还是不行!。。。我快要奔溃了,左思右想莫非哪里还有问题!突然看到 Info 选项 里面 没有 配置sos白名单。如下图核对后,加上相应配置。终于。。。终于。。OK了,我可以下班回家了!
- 史上最全canOpenURL: failed问题解决办法
- canOpenURL: failed for URL: "weixin://app/wx 问题解决方式
- canOpenURL: failed for URL
- -canOpenURL: failed for URL: "
- iOS canOpenURL: failed for URL
- canOpenURL: failed for URL: "xx"
- rsync下failed:permission denied问题解决办法
- iOS 9: -canOpenURL: failed for URL #
- iOS 9打印-canOpenURL: failed for URL
- 【iOS开发】canOpenURL: failed for URL
- 【iOS开发】canOpenURL: failed for URL
- -canOpenURL: failed for URL: "fbauth2:/" - error: "(null)"
- -canOpenURL: failed for URL iOS9 适配
- iOS开发-canOpenURL: failed for URL: "mqq://"
- java.lang.Exception: Socket bind failed: [730048]问题解决办法
- Re-installation failed due to different application signatures.问题解决办法
- java.lang.Exception: Socket bind failed: [730048]问题解决办法
- 【转】java.lang.Exception: Socket bind failed: [730048]问题解决办法
- hihocoder 1290 面试题(dp)
- POJ2566 Bound Found
- 使用适当的智能指针优化下面的程序
- javaScript对象
- 十分钟理解Java中的动态代理----强烈推荐
- 史上最全canOpenURL: failed问题解决办法
- 线性表的顺序存储和链式存储差异
- 绑定数据报错 The specified child already has a parent. You must call remove
- 算法设计作业17
- 欢迎使用CSDN-markdown编辑器
- IOS Swift3.0 获取导航栏跟状态栏的高度
- 天上掉Pizza
- Spark学习笔记(一)——spark简介
- 使用AJAX完成用户名是否存在异步校验: