2016-06-21 118 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

相关问题