-canOpenURL:URL失败:"itms-books://" - 错误:"此应用程序不允许查询方案itms-books"

bha*_*191 13 ios9 xcode7

我只是启动xcode 7稳定版.在我目前的项目中,我正在从webservice下载图像.在xcode 6.4工作正常.现在它没有显示任何图像并在日志中显示警告

-canOpenURL:URL失败:"itms-books://" - 错误:"此应用程序不允许查询方案itms-books"

App Transport Security已阻止明文HTTP(http://)资源加载,因为它不安全.可以通过应用程序的Info.plist文件配置临时例外.

小智 20

这是Apple在iOS 9中构建的任何应用程序上实施的新的强制安全措施.

到目前为止,唯一的解决方案是使用Key LSApplicationQueriesSchemes在info.plist文件中添加一个条目,并添加"itms-books"以及您的应用将在此数组中链接到的任何其他url方案.

LSApplicationQueriesSchemes

苹果此举的主要解释是,一些应用程序过去常常利用canOpenURL:方法的功能来扫描手机中安装的应用程序,以选择性广告或其他"不那么仁慈"的动机来定位您.

请注意,您可以注册的应用数量上限为50.


小智 5

您可能还需要向 plist 添加另一个名为 LSApplicationQueriesSchemes(类型数组)的键,并将“itms-books”方案作为字符串项添加到其中,以允许 canOpenURL 对其进行测试。


bha*_*191 2

我发现我的问题是在 info.plist 文件中添加了密钥。

添加字典 NSAppTransportSecurity -> 在项目的 info.plist 文件中添加新的布尔键名称 NSAllowsArbitraryLoads 。