OGeek|极客世界-中国程序员成长平台

标题: ios - 在 iOS 9 中为应用内浏览器禁用 ATS? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 16:05
标题: ios - 在 iOS 9 中为应用内浏览器禁用 ATS?

iOS 9 引入 App Transport Security (ATS)鼓励使用安全连接。

这很好,但是如果我的应用程序有一个内置的网络浏览器,用户应该能够使用它来连接到任何网站?例如,Facebook 应用程序允许故事包含指向外部网站的链接。当用户点击此类链接时,它不会启动 Safari,而是启动应用内浏览器。

如果没有 enabling the global NSAllowArbitraryLoads flag,我怎样才能获得相同的行为? ?

我想要强制使用 https 的所有好处,但想在我的内部浏览器中禁用此检查。在理想情况下,Apple 将允许我在 UIWebView 上指定一个属性,以允许它加载不安全的 URL,而不是全部或全部。我无法将每个域都列入白名单,因为我不知道我的用户将加载哪些 URL。我正在寻找与 iOS 8 兼容的解决方案。



Best Answer-推荐答案


在这种情况下,您通常需要通过将 NSAllowsArbitraryLoads 设置为 true 来禁用 ATS。如果您知道 可以 支持 HTTPS 的特定 URL(例如您自己的服务器或您在 UIWebView 之外的应用程序中使用的 API 服务器),那么您可以创建一个异常并将这些异常设置为 NSExceptionsAllowsInsecureHTTPLoads 为 false

关于ios - 在 iOS 9 中为应用内浏览器禁用 ATS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32106994/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4