我正在使用xcode 7 beta版.现在,我正在使用API.如果,我在Xcode 6.3中使用API它工作正常,但是当我在xcode 7中使用相同的API时出现错误消息无法解析.
请帮帮我.提前致谢
我正在使用UIWebView,我无法加载Facebook.我不得不说我正在使用xcode 7 beta 2和iOS 9.0 beta 4.
这是错误:
Error Domain=NSURLErrorDomain Code=-1022 "The resource could not be loaded because the App Transport Security policy requires the use of a secure connection."
Run Code Online (Sandbox Code Playgroud) 问题说明了一切。
我知道NSAllowsArbitraryLoads可以将它们放在一起,NSExceptionDomains但我对这种列入黑名单的方法感到有些困惑:除了列出的特定生产主机之外,我不想为所有内容禁用 ATS,NSExceptionDomains因为它们可能会发生变化,因此我需要管理它们的列表连同一般的应用程序配置,我们有 3 种以上不同的主机类型用于生产。[当然,在完美的世界中,Apple 会建议我们列出我们想要禁用应用程序传输安全的主机,并为所有其他主机启用它 - 不是!反之亦然]
我还尝试继承我的用户定义设置$(MY_USER_SETTING)(它可以支持对应于 Debug/Staging/Release 的 3 个不同值),但它不适用于非字符串类型的NSAppTransportSecurity字典和NSAllowsArbitraryLoads布尔值——这些值只是不继承我的用户定义设置。
背景:我希望能够使用 Charles Proxy 查看调试/暂存配置的 HTTP 流量,从 iOS 9 开始,它需要禁用 ATS,我想确保这不会以任何方式影响我们的发布配置!
在iOS 9中,我可以向info.plist添加密钥以禁用App Transport Security.有两个键,NSExceptionAllowsInsecureHTTPLoads并且NSThirdPartyExceptionAllowsInsecureHTTPLoads,其被定义为:
一个可选的布尔值,当设置为YES时,允许不安全的HTTP加载.使用此密钥来描述您的应用程序对您可以控制其安全属性的域的预期网络行为.
和
NSExceptionAllowsInsecureHTTPLoads键的一个版本,用于配置与您无法控制的安全属性的域的连接.
他们指的是什么安全属性?为什么我的意图很重要?
在什么情况下我会使用其中一种而不是另一种?
iOS网络编程新手.
请任何人帮忙了解一下?
<key>NSExceptionDomains</key>
<dict>
<key><!-- your_remote_server.com / localhost --></key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<true/>
</dict>
<!-- add more domain here -->
</dict>
Run Code Online (Sandbox Code Playgroud) iOS 10在我们身上加入了https,完全打破了我正在开发的应用程序.该应用程序部分是RSS阅读器.我们从RSS源获取的URL通常是HTTP URL,包括站点和元数据图像.这些http网址在safari和SFSafariViewController中可用时被重定向到https版本.但是,使用WKWebView时,不会发生此重定向.操作系统完全阻止非https加载.如果我试图通过在URL中交换"https"的"http"来破解这个问题,那么当网站从http CDN加载他们的图像,CSS和JavaScript时,这些网站通常会被破坏,这些请求也会被阻止.如何在Safari中看到WKWebView中的相同行为?我可以设置配置吗?对我来说,Apple会做出这样的改变并且只是使用WKWebView破坏客户端似乎很疯狂.
PS Facebook能够以某种方式解决这个问题.我不知道它是否是一个被严重攻击的SFSafariViewController,或者他们以某种方式使Web视图工作.有谁知道他们是如何完成这一切的?
wkwebview app-transport-security sfsafariviewcontroller ios10
当 I\xe2\x80\x99m 尝试与Server (which is IIS)I\xe2\x80\x99m 连接时,控制台窗口出现以下错误:
API 错误:发生 SSL 错误,无法与服务器建立安全连接。\n因此无法登录。
\n\n我正在使用 Xcode 9.2、iOS 11。
\n\n以下是我尝试过但没有起作用的解决方案:
\n\nApp Transport Security Settings-> Allow Arbitrary Loads->YES
Add exception domainETC。
与服务器团队一起对 IIS 进行故障排除,发现它不安全,即没有 HTTPS 或 SSL
这是我的 plist ATS 配置
\n\n\n\nPS 这个项目是由第三方供应商于 2014 年用 Objective-C 编写的。这个问题是 Objective-C 语言造成的吗?(我不这么认为)
\n\n有修复吗?
\n如果用户在iOS 8.4上运行我的应用程序,那么当用户升级到iOS 9时,默认情况下会强制执行或关闭ATS吗?我找不到有关此行为的任何官方文档.任何引用都会有帮助.
谢谢!
我在Xcode 7,IOS 9中测试我的应用程序并得到以下错误:
App Transport Security已阻止明文HTTP(http://)资源加载,因为它不安全.可以通过应用程序的Info.plist文件配置临时例外.
所以我在Info.plist文件中做了一些更改,如下所示,应用程序现在可以在所有IOS版本中正常工作:
<key>NSAppTransportSecurity</key><dict>
<key>NSExceptionDomains</key><dict><key>myserver.com</key><dict>
<key>NSIncludesSubdomains</key><false/>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/></dict> </dict></dict>
Run Code Online (Sandbox Code Playgroud)
所以我怀疑这是否仍然是一个永久的修复,或者我是否应该在我的代码中使用NSURLSession.
谢谢,阿宾
http nsurlconnection nsurlsession ios9 app-transport-security
我有一个具有多个构建配置的应用程序。如果所选配置是“调试”,我希望文件中的NSAllowsArbitraryLoads键Info.plist设置为“是”,否则我希望将其设置为“否”。
我该如何实现这一目标?
ios ×8
ios9 ×2
objective-c ×2
xcode ×2
http ×1
httprequest ×1
ios10 ×1
nsurlsession ×1
ssl ×1
wkwebview ×1
xcode7 ×1