Swift3 使用Xcode 8和iOS 10.3将NSExceptionDomains添加到WKWebView的Info.plist中

Swift3 使用Xcode 8和iOS 10.3将NSExceptionDomains添加到WKWebView的Info.plist中,swift3,xcode8,ios10,wkwebview,Swift3,Xcode8,Ios10,Wkwebview,更新:JS web请求也可以从UIWebView工作,而不是WKWebView。但是,我需要用于JS互操作通信的WK版本 我一直在尝试让外部JS请求在Xcode 8和iOS 10.3上的WKWebView中工作,以访问Dark Sky API,但失败了。我尝试过的每件事都会给我带来相同的跨脚本访问错误(我已经删除了正在使用的URL字符串的详细信息): MyInfo.plist包含此代码段,基于大量搜索,它似乎是正确的(此处的“不安全”设置应该与此无关,因为我使用的是HTTPS): NSAppTr

更新:JS web请求也可以从
UIWebView
工作,而不是
WKWebView
。但是,我需要用于JS互操作通信的WK版本

我一直在尝试让外部JS请求在Xcode 8和iOS 10.3上的
WKWebView
中工作,以访问Dark Sky API,但失败了。我尝试过的每件事都会给我带来相同的跨脚本访问错误(我已经删除了正在使用的URL字符串的详细信息):

My
Info.plist
包含此代码段,基于大量搜索,它似乎是正确的(此处的“不安全”设置应该与此无关,因为我使用的是HTTPS):

NSAppTransportSecurity
NSExceptionDomains
darksky.net
n包括多个域
NSTemporary ExceptionalLowsInSecureHttpLoads
NSTemporaryExceptionMinimumTLSVersion
TLSv1.1
我在内部dict和外部dict中尝试了各种不同的设置(甚至尝试添加糟糕的
NSAllowsArbitraryLoads
NSAllowsArbitraryLoadsInWebContent
,都没有效果)

完全相同的JS代码在Android
WebView
上工作,基本安全设置已切换,并且使用
curl
,因此我知道Dark Sky API端点没有问题

我看到了一堆其他的SO答案,它们似乎表明使用了我的
.plist
(请参见和)中的内容,但这些答案似乎没有起到作用


你知道我在这里遗漏了什么魔法iOS巫术吗?

你是说
nsallowsraboraryloads
也不适合你吗?另外,当我看到TLS实际上是
TLS1.2
。正确的,任意加载也不起作用。我尝试更新到TLS1.2,但也没有成功。看起来我可以将JS互操作构建到UIWebView中。但是,考虑到苹果鼓励所有人使用WKWebView,不得不切换是很烦人的。你是说
nsAllowsArbilarLoads
也不适合你吗?另外,当我看到TLS实际上是
TLS1.2
。正确的,任意加载也不起作用。我尝试更新到TLS1.2,但也没有成功。看起来我可以将JS互操作构建到UIWebView中。但是,考虑到苹果鼓励所有人使用WKWebView,不得不切换是令人恼火的。
[Error] Origin null is not allowed by Access-Control-Allow-Origin.
[Error] Failed to load resource: Origin null is not allowed by Access-Control-Allow-Origin.
[Error] XMLHttpRequest cannot load https://api.darksky.net/... due to access control checks.
<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>darksky.net</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>