2016-06-21 43 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オープンURLが機能しない

Self.currentUser.linkedin =

私はcanOpenUrlからすべてのエラーを取得する私はいけない動作していない携帯電話上のボタンをタップhttps://nl.linkedin.com/in/username()

が、これはバグでしょうか?

ありがとうございました!

Cees

答えて

1

この問題が見つかりました。テストデバイスでは、サファリは無効になっていました。オープン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) 
    } 

アラートは、このように見えた:それは静かに失敗した場合、このエラーメッセージがPROMTとその中のリンクを持つテキストフィールドに入れます

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

。ユーザーはそれをコピーしてブラウザに貼り付けることができます。

私はそれが他の人にも役立つことを願っています!

シーズ

関連する問題