URL中的转义字符 - iOS Swift

时间:2015-11-13 18:56:55

标签: ios swift url

我从字符串中提取URL并将其转换为链接的WebView按钮。

这是我得到的错误......

2015-11-10 18:58:05.159 MPSTApp[520:169178] -canOpenURL: failed for URL: "https:/www.facebook.com/prontosantateresa -- file:///" - error: "This app is not allowed to query for scheme file"

对于此实例,字符串为https://www.facebook.com/prontosantateresa,但我相信它使用双//作为转义字符。

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

var anchorLink: String?

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

2 个答案:

答案 0 :(得分:0)

这正是错误消息所说的:它试图打开一个文件:// url。因此,您检索https:// url的算法似乎做错了,并将“//”变为“/”。将NSAllowArbitaryLoads密钥添加到Info.plist中也很方便。

答案 1 :(得分:0)

我调查了问题。由于我使用的是app浏览器,因此不需要使用UIApplication.canOpenUrl()。 因此,为了解决这个问题,我用

中的以下代码替换了事件方法
@IBAction func website1ButtonPressed(sender: UIButton) {
  if self.anchorLink != nil{
    self.performSegueWithIdentifier("categoryDetailToWebSegue", sender: nil)
  }
}