如何在 iOS 应用中显示 iframe
Posted
技术标签:
【中文标题】如何在 iOS 应用中显示 iframe【英文标题】:How can I display an Iframe in an iOS app 【发布时间】:2019-07-22 13:04:39 【问题描述】:我有一个通过 cordova(只是 cordova 不是 ionic)为 android 和 ios 创建的应用程序。该应用程序有一个集成的 iFrame,它在生成的 APK 中运行良好。它有一个“不允许明文 HTTP 流量”错误,已使用在此问题 Android 8: Cleartext HTTP traffic not permitted 上发布的一些说明进行了修复。
但对于 iOS 11,Iframe 无法正常工作,并且不会显示任何错误消息。它加载框架但内部是空白的。生成的应用充满了弃用。
是否有任何隐私政策,例如针对 iOS 的明文政策?或者我怎么知道为什么 iFrame 不工作?
【问题讨论】:
【参考方案1】:由于您尝试在 Web 视图中加载纯 HTTP 内容,因此它可能被应用传输安全性阻止。您可以将 NSAllowsArbitraryLoadsInWebContent
键添加到您的应用的 Info.plist 中,将值设置为 YES(布尔类型)以便可以加载 HTTP 内容。
如果可能,最好在 HTTPS 下托管该内容。它不仅更安全,而且 Apple 要求启用此例外的正当理由,并且它可能会使应用程序受到更严格的审查(根据 https://developer.apple.com/documentation/security/preventing_insecure_network_connections#3138036)。
【讨论】:
我添加了一行和一个异常域 btu 似乎没有任何改变。甚至以为我尝试过使用 HTTPS 看起来需要在 config.xml 和页面本身中设置一些额外的 Cordova 位。您是否尝试过此帖子答案中的建议:***.com/questions/36318185/… 我已经修改了答案中建议的文件,但 iframe 仍然无法加载。我遇到了新的错误,但我认为这些是由 Cordova 造成的。以上是关于如何在 iOS 应用中显示 iframe的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UIWebView 加载的 iframe 中注入 javascript - iOS