How to send message and link to WhatsApp in Swift 3?

Viewed 10814

How to send a message and link to WhatsApp in Swift 3

I'm using this code: Code

Message errore to the console:

...failed for URL: "whatsapp://send?text=Check" - error: "This app is not allowed to query for scheme whatsapp"

Thank you

2 Answers

Swift 5

Please follow the below steps for sharing on WhatsApp through URL Schemes

  1. Add this code in your app "info.plist"

<key>LSApplicationQueriesSchemes</key>
<array>
  <string>whatsapp</string>
</array>

enter image description here

  1. For sharing text and URL

     @IBAction func whatsappShareText(_ sender: AnyObject) {
     let message = "First Whatsapp Share & https://www.google.co.in"
     var queryCharSet = NSCharacterSet.urlQueryAllowed
    
     // if your text message contains special char like **+ and &** then add this line
     queryCharSet.remove(charactersIn: "+&")
    
     if let escapedString = message.addingPercentEncoding(withAllowedCharacters: queryCharSet) {
         if let whatsappURL = URL(string: "whatsapp://send?text=\(escapedString)") {
             if UIApplication.shared.canOpenURL(whatsappURL) {
                 UIApplication.shared.open(whatsappURL, options: [: ], completionHandler: nil)
             } else {
                 debugPrint("please install WhatsApp")
             }
         }
     }
    

    }

Happy Coding!

Related