App Transport Security ios 9和instagram api

时间:2015-09-30 13:37:25

标签: ios instagram instagram-api

我遇到了Instagram API和iOS 9的问题。 我的应用程序在iOS 8上正常运行,但在iOS 9上运行不正常。 我尝试在Instagram中授权用户时收到此错误

  

NSURLSession / NSURLConnection HTTP加载失败   (kCFStreamErrorDomainSSL,-9802)

我尝试了很多变种,例如来自这个问题App Transport Security breaks Web View

请帮助我!

3 个答案:

答案 0 :(得分:3)

Poisondmind's answer几乎是正确的。但是,加载instagram图像需要Info.plist几个附加内容。

可以在ATS technotes.中找到所有按键的说明 确保您使用的是https:网址。

另请注意有用的调试命令:
 /usr/bin/nscurl --ats-diagnostics --verbose YOUR_URL

以下是允许我的应用从Instagram下载图片的配置:

enter image description here

答案 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>