我遇到了Instagram API和iOS 9的问题。 我的应用程序在iOS 8上正常运行,但在iOS 9上运行不正常。 我尝试在Instagram中授权用户时收到此错误
NSURLSession / NSURLConnection HTTP加载失败 (kCFStreamErrorDomainSSL,-9802)
我尝试了很多变种,例如来自这个问题App Transport Security breaks Web View
请帮助我!
答案 0 :(得分:3)
Poisondmind's answer几乎是正确的。但是,加载instagram图像需要Info.plist
几个附加内容。
可以在ATS technotes.中找到所有按键的说明
确保您使用的是https:
网址。
另请注意有用的调试命令:
/usr/bin/nscurl --ats-diagnostics --verbose YOUR_URL
以下是允许我的应用从Instagram下载图片的配置:
答案 1 :(得分:1)
Apple出于重要安全原因这样做,最终有必要在应用更新中启用Transport Security。使用旧版本会完全禁用它。这在Xcode7上为我修复了它:
在Info.plist
文件中,添加instagram.com
和子域名作为ATS规则的例外,如下所示:
<key>NSExceptionDomains</key>
<dict>
<key>instagram.com</key>
<dict>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
</dict>
</dict>
Apple的Transport Security technote中记录了有关此操作的更多信息。
答案 2 :(得分:-2)
这是针对ATS的,如果你使用xcode 7它会嵌入ATS功能,尝试使用不是像6.1 xcode这样的版本7来构建,你可以在ios9设备上运行它,并且对http的调用也可以。< / p>