Sending message to WhatsApp from your app using Swift? Sending message to WhatsApp from your app using Swift? swift swift

Sending message to WhatsApp from your app using Swift?


 var url  = NSURL(string: "whatsapp://send?text=Hello%20Friends%2C%20Sharing%20some%20data%20here...%20!")//Text which will be shared on WhatsApp is: "Hello Friends, Sharing some data here... !"    if UIApplication.sharedApplication().canOpenURL(url!) {        UIApplication.sharedApplication().open(url as URL, options: [:]) { (success) in                if success {                    print("WhatsApp accessed successfully")                } else {                    print("Error accessing WhatsApp")                }            }    }

Note: text needs to be URL encoded. You can get it using any of the open source tools over internet or using addingPercentEncoding(withAllowedCharacters:) function in iOS.e.g.

var urlString = "Hello Friends, Sharing some data here... !"var urlStringEncoded = urlString.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed)var url  = NSURL(string: "whatsapp://send?text=\(urlStringEncoded!)")


Swift 3.0

Try with this code for access watsapp in your application. Its working perfectly for me.

@IBAction func sendButtonAction(_ sender: Any){    let date = Date()    let msg = "Hi my dear friends\(date)"    let urlWhats = "whatsapp://send?text=\(msg)"    if let urlString = urlWhats.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed) {        if let whatsappURL = NSURL(string: urlString) {            if UIApplication.shared.canOpenURL(whatsappURL as URL) {                UIApplication.shared.openURL(whatsappURL as URL)            } else {                print("please install watsapp")            }        }    }}


Swift 5

Add whatsapp in LSApplicationQuerySchemes(Info.plist)

Code

let urlWhats = "whatsapp://send?text=\("Hello World")"if let urlString = urlWhats.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed) {      if let whatsappURL = NSURL(string: urlString) {            if UIApplication.shared.canOpenURL(whatsappURL as URL) {                 UIApplication.shared.open(whatsappURL as URL)             }              else {                 print("please install watsapp")             }      }}