2016-09-25 8 views
2

グローバル変数に格納された受信者番号にwhatsappメッセージを送信しようとしています!この単純なコードを使用することにより特定の連絡先番号(Swiftプロジェクト)にWhatsappメッセージを送信

:私は常に他のケースのアラートメッセージが出てい

let whatsAppUrl = NSURL(string: "whatsapp:\(globalPhone)") 



     if UIApplication.shared.canOpenURL(whatsAppUrl as! URL) { 
      UIApplication.shared.openURL(whatsAppUrl as! URL) 
     } 
     else { 
      let errorAlert = UIAlertView(title: "Sorry", message: "You can't send a message to this number", delegate: self, cancelButtonTitle:"Ok") 
      errorAlert.show() 
     } 

! 数は常にtrueですが! URL構文のエラーがありますか?コンソールで

canOpenURL: failed for URL: "whatsapp:0534260282" - 
"This app is not allowed to query for scheme whatsapp" 

が、これはそれを行うための正しい方法ですか? これは共有のためだけに、Whatsappのテキストですか?

答えて

3

2つの問題。

最初のものは、有効なURLスキームではありません。 URLスキームの形式はidentifier://paramsなので、代わりにwhatsapp://phone_numberを使用する必要があります。

第2に、アップルでは、​​LSApplicationQueriesSchemesキーの下にネストされたInfo.plistファイルでアプリケーションが使用する外部URLスキームを定義する必要があります。詳細はiOS 9 not opening Instagram app with URL SCHEMEをご覧ください。 https://www.whatsapp.com/faq/en/iphone/23559013


はのWhatsApp URLスキームのドキュメントによると、あなたが実際にあなたにメッセージを送信する連絡先の電話番号を供給することはできません。

whatsapp://send?text=Some%20Text

ただし、あなたが彼らに送りたいメッセージを供給することができます。

NSURLは指定された文字列から有効なURLを作成できません。

+0

私はこれをしました!しかし、私は、メッセージを送信したい受信者ではなく、whatsappアプリケーションを開くことができますか? – Mariah

+0

受信者に直接送信するにはどうすればよいですか? – Mariah

+0

@Mariah彼らのドキュメントによると、それは可能ではないようです:https://www.whatsapp.com/faq/en/iphone/23559013しかし、テキストを指定することはできます。更新された回答をご覧ください。 –

関連する問題