iOS App Transport Security

时间:2015-11-11 00:01:28

标签: ios swift app-transport-security

我在应用上列出了包含许多不同网址的广告;因此,我已将我的info.plist设置为...

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

在模拟器上一切正常。在我的测试设备上,它将无法正常工作。

错误是......

2015-11-10 18:58:05.159 MPSTApp [520:169178] -canOpenURL:网址失败:“https:/www.facebook.com/prontosantateresa - file:///” - 错误:“这个app不允许查询方案文件“

调用url链接的代码就是这样 -

var anchorLink: String?

func loadWebPage(){
    let requestURL = NSURL(string: anchorLink!)
    let request = NSURLRequest(URL: requestURL!)
    webView.loadRequest(request)
}

2 个答案:

答案 0 :(得分:1)

您的网址中有拼写错误。变化:

https:/facebook.com

要:

https://facebook.com

此外,您应该将LSAllowsArbitraryLoads更改回默认值,因为这对大多数应用来说都是最好的。

答案 1 :(得分:0)

对于iOS9,您必须在plist文件中添加一些东西:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>fbapi</string>
    <string>fbapi20130214</string>
    <string>fbapi20130410</string>
    <string>fbapi20130702</string>
    <string>fbapi20131010</string>
    <string>fbapi20131219</string>    
    <string>fbapi20140410</string>
    <string>fbapi20140116</string>
    <string>fbapi20150313</string>
    <string>fbapi20150629</string>
    <string>fbauth</string>
    <string>fbauth2</string>
    <string>fb-messenger-api20140430</string>
</array>

更多信息:Preparing Your Apps for iOS9