首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IOS9和uiwebview问题?

IOS9和uiwebview问题?
EN

Stack Overflow用户
提问于 2015-10-06 18:09:25
回答 2查看 1.9K关注 0票数 0

我有webview工作的版本低于ios9,但似乎不工作的ios9,它显示了一个空白页面,但网址是通过。

EN

回答 2

Stack Overflow用户

发布于 2015-10-06 18:56:52

要配置每个域的例外,以便您的应用程序可以连接到不安全的(或未启用TLSv1.2的安全主机),请将这些密钥添加到您的Info.plist中(请注意,从第一个Xcode7 beta种子开始,Xcode当前不会自动完成这些密钥):

代码语言:javascript
复制
<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>yourserver.com</key>
    <dict>
      <!--Include to allow subdomains-->
      <key>NSIncludesSubdomains</key>
      <true/>
      <!--Include to allow HTTP requests-->
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
      <true/>
      <!--Include to specify minimum TLS version-->
      <key>NSTemporaryExceptionMinimumTLSVersion</key>
      <string>TLSv1.1</string>
    </dict>
  </dict>
</dict>

您还可以使用其他密钥来配置App Transport Security,例如:

代码语言:javascript
复制
NSRequiresCertificateTransparency
NSTemporaryExceptionRequiresForwardSecrecy
NSTemporaryThirdPartyExceptionAllowsInsecureHTTPLoads
NSTemporaryThirdPartyExceptionMinimumTLSVersion
NSTemporaryThirdPartyExceptionRequiresForwardSecrecy

对于演示,可以这样做,如下图所示:

但是如果我不知道我需要使用的所有不安全的域怎么办?

如果你的应用程序(比如第三方浏览器)需要加载任意内容,苹果提供了一种完全禁用ATS的方法,但我怀疑你最好谨慎使用这一功能:

代码语言:javascript
复制
<key>NSAppTransportSecurity</key>
<dict>
  <!--Include to allow all connections (DANGER)-->
  <key>NSAllowsArbitraryLoads</key>
      <true/>
</dict>

你可以找到它的技术笔记Here

票数 1
EN

Stack Overflow用户

发布于 2015-10-07 03:59:34

你可能想检查一下更新url和渲染页面的顺序。在ios9中,url不会立即更改,即使您直接为其赋值。

因此,您可以尝试设置一个超时,以等待url更新。

代码语言:javascript
复制
updateUrl();
window.setTimeout(function(){
    renderPage();
},30);

有时将timeout设置为0会起作用,因为它会强制代码在下一个事件循环中运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32967264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档