iOS9 白名单问题 -canOpenURL: failed for URL: xx - error:This app is not allowed to query for scheme x...
【iOS开发】-canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query for scheme xx"
Collection/Bookmark/Share for width under 768px
控制台输出
如图是在我启动一个 Xcode 7 + iOS 9 的 App 之后,控制台的输出。
这在 Xcode 6.4 + iOS 8 时,是不会有的情况,原因是【为了强制增强数据访问安全, iOS9 默认会把所有从NSURLConnection 、 CFURL 、 NSURLSession发出的 HTTP 请求,都改为 HTTPS 请求:iOS9.x-SDK编译时,默认会让所有从NSURLConnection 、 CFURL 、 NSURLSession发出的 HTTP 请求统一采用 TLS 1.2(SSL 3.1) 协议。】
下面说解决方案:
①如果你的输出信息是-canOpenURL: failed for URL: "kindle://home" - error: "This app is not allowed to query for scheme kindle"
set Bitcode to NO
去你的 target 里面的 Build Settings 下的 Enable Bitcode,把它设置成 NO,这不一定会阻挡你的控制台继续输出这条信息,但是可以保证你的 App 正常运行。
②如果你的输出信息是 xxxx - error: "This app is not allowed to query for scheme xxxx"
(在这里因为我的 App 集成了分享到QQ、微信、微博的功能,xxxx部分我看到了 mqq、wechat、sinaweibosso 等多条信息)
Info.plist
去 Info.plist 里面建立一个叫 LSApplicationQueriesSchemes 的 Array,把你在xxxx部分看到的词汇一个一个填进去,直至控制台没有任何相关输出即可。
③关于其他通过 WebView 访问 http 网址引发的控制台报错信息
Info.plist 中设置 ATS
<key>NSAppTransportSecurity</key>
<dict>
<!--Include to allow all connections (DANGER)-->
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
如之前所说,Apple 希望我们访问相对安全的 HTTPS,所以在你需要访问 HTTP 时,
虽 Apple 不建议,但可通过在 Info.plist 中声明如上图所示的内容,倒退回不安全的网络请求,这样依然能让 App 访问指定 HTTP,甚至任意的 HTTP。
转载于:https://www.cnblogs.com/zmloveworld/p/5218161.html
iOS9 白名单问题 -canOpenURL: failed for URL: xx - error:This app is not allowed to query for scheme x...相关推荐
- iOS9.0 canOpenURL: failed for URL: xx - error:This app is not allowed to query for scheme xx
控制台输出 如图是在我启动一个 Xcode 7 + iOS 9 的 App 之后,控制台的输出. 这在 Xcode 6.4 + iOS 8 时,是不会有的情况,原因是[为了强制增强数据访问安全, iO ...
- canOpenURL: failed for URL: xx - error:This app is not allowed to query for scheme xx
1.找到你项目的Info.plist 2.Info.plist 里面建立一个叫 LSApplicationQueriesSchemes 的 Array,把你在xxxx部分看到的词汇一个一个填进去,直至 ...
- iOS开发-canOpenURL: failed for URL: mqq:// - error: This app is not allowed to query for scheme mqq
使用ShareSDK做分享时,弹出错误如下: -canOpenURL: failed for URL: "mqq://" - error: "This app is no ...
- 史上最全canOpenURL: failed问题解决办法
史上最全canOpenURL: failed问题解决办法 由于苹果在IOS9.0开始规定在App中使用Https协议与服务器进行数据交互,导致很多原本正常的功能,莫名的就崩掉了.查看控制台 就会看到各 ...
- Xcode 史上最全canOpenURL: failed问题解决办法
由于苹果在IOS9.0开始规定在App中使用Https协议与服务器进行数据交互,导致很多原本正常的功能,莫名的就崩掉了.查看控制台 就会看到各种错误提示,例如:-canOpenURL: failed ...
- iOS开发分享之“白名单”
本文转自:http://www.2cto.com/kf/201602/489546.html WWDC 2015 Session 703: "Privacy and Your App ( 时 ...
- 添加url白名单_赏金技巧 | URL跳转Bypass案例
前言 在第一军团这么久了,参加了几次"SRC赏金活动",挖掘了一个比较有意思的漏洞,这里来说明下. 开始 发现一个URL跳转点:http://xxx.com/?src=http:/ ...
- Node.js设置CORS跨域请求中多域名白名单的方法
允许跨域请求,主要就是配置Response响应头中的 Access-Control-Allow-Origin 属性为你允许该接口访问的域名. 最常见的设置是: res.header('Access-C ...
- android 11.0 12.0app应用安装白名单
1.概述 在11.0 12.0定制化开发中,客户需求要实现应用安装白名单功能,在白名单之中的应用可以安装,其他的app不准安装,实现一个 控制app安装的功能,这需要从app安装流程入手就可以实现功能 ...
最新文章
- 30多条mysql数据库优化方法,千万级数据库记录查询轻松解决
- JavaScript新手学习笔记4——我记不住的几个坑:短路逻辑、按值传递、声明提前...
- 拥有梦想只是一种智力,实现梦想才是一种能力
- 尚硅谷李老师笔记3DQL
- 修改maven打包名字
- 阳振坤:电动汽车与分布式数据库的共同命运
- JHipster简介
- 注册使用GAC【转载】
- html5移动端海报制作,H5制作利器,教你分分钟制作高/大/上H5海报!
- 微信公共号开发简单入门
- NTFS文件系统下文件恢复
- docker image 重命名
- 用计算机弹无羁的数字,无羁钢琴谱数字双手波尔卡教
- c语言中static 变量
- 计算机科学 在职双证,计算机在职研究生有双证吗
- Springboot 删除指定文件夹或文件(Java删除指定文件夹或文件)
- python实现长截图_用python实现对元素的长截图
- python a股行情_用Python,tushare做一个A股每日收盘行情监测分析(含源代码)
- 计算机打字工作内容,计算机基础知识打字入门
- 10个动画亮度过渡PR预设
热门文章
- 单例模式(singleton)解析例子
- oct玻璃体后脱离图像
- flink sql是否支持emit策略
- flink社区提问没有人回答是怎么回事?
- Mongodb和redis书籍调研
- xfce4面板消失了解决方案+xfce4的面板保存设置以及读取
- 这是一份通俗易懂的知识图谱技术与应用指南(转)
- 错误代码#1045 Access denied for user 'root'@'localhost' (using password:YES)
- 根据文法画出语法树_编译工程5:语法分析(3)
- java基础知识陷阱