2015-11-13 147 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