iOS 从 HTTP 加载图像
iOS Loading images from HTTP
是否可以从任何网站下载图片?
我的问题是 App Transport Security
,因为不可能对整个互联网使用域例外,并且不安全(并且可能被 Apple 禁止)绕过 ATS。
HTTPS 工作正常,但如果用户想从 HTTP 保存图像怎么办?
这不是禁止的,但在某些时候,Apple 可能会要求您提供理由,说明为什么您使用 ATS 异常来降低应用程序的安全性。
要允许 HTTP 连接到单个域,这听起来像您所需要的,只需将以下内容添加到您的 Info.plist
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>yourdomain.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
关键是将例外情况限制在尽可能小的范围内。在这种情况下,您被限制为仅允许不安全的 (HTTP) 连接到托管您的图像的服务器的域。
是否可以从任何网站下载图片?
我的问题是 App Transport Security
,因为不可能对整个互联网使用域例外,并且不安全(并且可能被 Apple 禁止)绕过 ATS。
HTTPS 工作正常,但如果用户想从 HTTP 保存图像怎么办?
这不是禁止的,但在某些时候,Apple 可能会要求您提供理由,说明为什么您使用 ATS 异常来降低应用程序的安全性。
要允许 HTTP 连接到单个域,这听起来像您所需要的,只需将以下内容添加到您的 Info.plist
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>yourdomain.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
关键是将例外情况限制在尽可能小的范围内。在这种情况下,您被限制为仅允许不安全的 (HTTP) 连接到托管您的图像的服务器的域。