应用传输安全 ios 9 和 instagram api
App Transport Security ios 9 and instagram api
我对 instagram API 和 iOS 9 有疑问。
我的应用程序在 iOS 8 上运行正常,但在 iOS 9 上运行不正常。
当我尝试在 instagram
中授权用户时收到此错误
NSURLSession/NSURLConnection HTTP load failed
(kCFStreamErrorDomainSSL, -9802)
我尝试了很多变体,例如这个问题App Transport Security breaks Web View
请帮帮我!
这是针对 ATS 的,如果你使用 xcode 7 它将嵌入 ATS 功能,尝试使用版本 7 构建而不是像 6.1 xcode,你可以 运行 它在 ios9 台设备上并且对 http 的调用将起作用。
Apple 这样做是出于重要的安全原因,最终有必要在应用程序更新中启用传输安全。使用旧版本会完全禁用它。这为我修复了 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 的传输安全 technote。
几乎是正确的。但是 Info.plist
中有几个附加项是加载 Instagram 图像所必需的。
再次说明所有键的说明可以在ATS technotes.
中找到
确保您使用的是 https:
网址。
另请注意有用的调试命令:
/usr/bin/nscurl --ats-diagnostics --verbose YOUR_URL
下面是让我的应用程序从 instagram 下载图片的配置:
我对 instagram API 和 iOS 9 有疑问。 我的应用程序在 iOS 8 上运行正常,但在 iOS 9 上运行不正常。 当我尝试在 instagram
中授权用户时收到此错误NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)
我尝试了很多变体,例如这个问题App Transport Security breaks Web View
请帮帮我!
这是针对 ATS 的,如果你使用 xcode 7 它将嵌入 ATS 功能,尝试使用版本 7 构建而不是像 6.1 xcode,你可以 运行 它在 ios9 台设备上并且对 http 的调用将起作用。
Apple 这样做是出于重要的安全原因,最终有必要在应用程序更新中启用传输安全。使用旧版本会完全禁用它。这为我修复了 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 的传输安全 technote。
Info.plist
中有几个附加项是加载 Instagram 图像所必需的。
再次说明所有键的说明可以在ATS technotes.
中找到
确保您使用的是 https:
网址。
另请注意有用的调试命令:
/usr/bin/nscurl --ats-diagnostics --verbose YOUR_URL
下面是让我的应用程序从 instagram 下载图片的配置: