2016-06-21 36 views
0
@IBAction func openLinkedin() { 
    let url = NSURL(string: self.currentUser.linkedin)! 

    if(UIApplication.sharedApplication().canOpenURL(url) == true){ 
     if currentUser.linkedin.rangeOfString("linkedin") != nil{ 
      UIApplication.sharedApplication().openURL(url) 
     }else{ 
      Utility.sharedInstance.showAlert("\(currentUser.display_name) heeft geen correcte linkedin link.") 
     } 
     }else{ 
      Utility.sharedInstance.showAlert("\(currentUser.display_name) heeft geen linkedin link ingevuld.") 
     } 
} 

我在我的項目中有這樣的代碼。當我測試它時,它完美無瑕。但由於某種原因,它可以在我的手機上運行,​​而不是在我的測試設備上。任何人都可以解釋發生了什麼?IOS Open Url在某些設備上不工作

Self.currentUser.linkedin = https://nl.linkedin.com/in/username

當我點擊它不工作,我不從canOpenUrl得到任何錯誤電話上的按鈕()

這是一個錯誤?

謝謝任何​​人!

Cees

回答

1

我發現了這個問題。在測試設備safari是disabeld。這個打開url的文件默默地失敗了。我固定它通過把這個上面的代碼:

if(!UIApplication.sharedApplication().openURL(url)){ 
     Utility.sharedInstance.showAlertL("Kan de link niet openen. Kopieer de onderstaande link en plak deze in de browser.", link: self.appDelegate.user.linkedin) 
    } 

警報是這樣的:

func showAlertL(message:String, link:String){ 
    let responseAlert = UIAlertView() 
    responseAlert.alertViewStyle = UIAlertViewStyle.PlainTextInput 
    let tekstfield = responseAlert.textFieldAtIndex(0) 
    tekstfield?.text = link 
    responseAlert.title = "Opes!" 
    responseAlert.message = message 
    responseAlert.addButtonWithTitle("OK") 
    responseAlert.show() 
} 

如果失敗默默此錯誤消息將PROMT,放在一個文本框與它裏面的鏈接。這樣用戶可以複製它並將其粘貼到瀏覽器中。

我希望它也能幫助別人!

Cees

相關問題