2015-11-13 149 views
0

我从一个字符串中提取一个URL,并将其转换为链接的WebView的按钮。URL中的转义字符 - iOS Swift

这是我得到的错误...

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) 
} 

回答

0

我调查了问题。由于我使用的是应用程序浏览器,因此无需使用UIApplication.canOpenUrl()。 因此,为了解决这个问题,我用下面的代码替换了事件方法

@IBAction func website1ButtonPressed(sender: UIButton) { 
    if self.anchorLink != nil{ 
    self.performSegueWithIdentifier("categoryDetailToWebSegue", sender: nil) 
    } 
} 
0

这正是错误消息这样说:它试图打开一个文件:// URL。因此,您检索https://网址的算法似乎会出错,并将“//”转换为“/”。它也可以方便地将NSAllowArbitaryLoads键添加到Info.plist中。

+0

已经将该密钥添加到了.plist中。不知道为什么它只是拉动“/” – pmanning

+0

你在做什么,以便从文本中提取URL?我认为这是你的问题的原因。 – Anticro