IOS Open Url在某些设备上不工作
问题描述:
@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
答
我发现了这个问题。在测试设备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