Pandurang Yachwad Pandurang Yachwad - 8 months ago 130
Swift Question

Sending message to WhatsApp from your app using Swift?

For one of my app, I wanted to share data to WhatsApp contacts. I tried few solutions overs the StackOverflow but couldn't get exact solution. After some trials could achieve what I was looking for, so sharing here for anyone's future reference.

 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!) {

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

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