在 Ionic 应用程序中加载 Cloudfront 图像时出错 - iOS 9

Posted

技术标签:

【中文标题】在 Ionic 应用程序中加载 Cloudfront 图像时出错 - iOS 9【英文标题】:Error loading Cloudfront images in Ionic app - iOS 9 【发布时间】:2015-09-21 16:02:15 【问题描述】:

我正在 Xcode 7 中为 ios 9 设备编译一个 Ionic (1.1.0) 应用程序。 但是,来自 Cloudfront CDN 的图像没有出现。错误信息是:

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

我正在为这些图像发送 URL 的 https 版本。例如https://abcxyx.cloudfront.net/...

我已经尝试过这里的建议: https://www.stuartbreckenridge.com/app-transport-security-cloudfront/ 但它不起作用。

作为一个测试,我将 NSAllowsArbitraryLoads 设置为 true 并且确实有效。但当然,这不是 App Store 接受的生产解决方案。

这是我的 plist 的摘录:

<dict>
<key>[SUBDOMAIN].cloudfront.net</key>
<dict/>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
<key>NSTemporaryExceptionRequiresForwardSecrecy</key>
<false/>

有人看过这个或者有想法吗?

【问题讨论】:

这可能对你有帮助 NSURLSession/NSURLConnection HTTP load failed on iOS 9 ***.com/questions/30739473/… 【参考方案1】:

我有一个坏消息要告诉你,我的朋友。几天前,我遇到了这个问题。不幸的是,没有解决方案。 Apple 已将 Cloudfront 的证书列入黑名单。

因此,您要么使用您提供的解决方案(白名单网址),要么您必须使用不同的图像提供程序/服务器。

【讨论】:

以上是关于在 Ionic 应用程序中加载 Cloudfront 图像时出错 - iOS 9的主要内容,如果未能解决你的问题,请参考以下文章

Ionic v1 - 谷歌地图最初没有在 iOS 中加载

在 Ionic4 中加载页面时播放声音

如何在 Ionic 中加载(或启动画面)时设置 Android 状态栏颜色?

自定义组件 sccs 未在 ionic 5 中加载

图像未在 <img> 标记中加载 ftp url

使用 Ionic Livereload 导致空白页