2015-08-17 1 views
11

Для одного из моих приложений я хотел поделиться данными с контактами WhatsApp. Я попробовал несколько решений над StackOverflow, но не смог получить точное решение. После некоторых испытаний можно было добиться того, что я искал, поэтому поделитесь здесь, чтобы узнать кого-нибудь в будущем.Отправка сообщения WhatsApp из вашего приложения с помощью Swift?

ответ

16
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().openURL(url!) 
    } 

Примечание: текст должен быть закодирован в URL. Вы можете получить его с помощью любого из инструментов с открытым исходным кодом через Интернет или с помощью функции stringByAddingPercentEncodingWithAllowedCharacters в iOS. , например.

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

Hi @ Pandurang Yachwad. Как я могу поделиться ссылкой, вы можете показать мне демо. please.or есть длина Url, которую мы можем разделить, поскольку я пытался поделиться www.Google.com. Что работает, но мой URL слишком длинный, поэтому я получаю пустое место в текстовой области. –

+0

@AvinashMishra Я не думаю, что ограничение на длину URL. просто проверьте, работает ли этот URL прямо в браузере. когда-то плохой URL-адрес вызывает проблему. –

+0

Работает в браузере не здесь. –

1

Мой код Похожа этого

let encodeQuizStr = "Check Out The Quiz With link \n http://www.proprofs.com " 

     let urlQuizStringEncoded = encodeQuizStr.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed) 

     guard let whatsAppUrl = NSURL(string: "whatsapp://send?text="+urlQuizStringEncoded!) else { return } 

     if UIApplication.shared.canOpenURL(whatsAppUrl as URL) { 

      if #available(iOS 10.0, *) { 
       print(urlQuizStringEncoded!) 
       UIApplication.shared.open(whatsAppUrl as URL, options: [:], completionHandler: nil) 
      } else { 

       UIApplication.shared.openURL(whatsAppUrl as URL) 

      } 
     } 
     else{ 


      ProjectUtility.AlertWith(self, message: " What's App is Not Available.", Title: "Sorry") 
     } 

работает нормально, но когда я ставлю этот URL

("http://www.proprofs.com/quiz-school/story.php?title=pq-find-out-which-ice-age-character-you-are ") 

Тогда ее не работает, пожалуйста Проверьте Thanks.HelpWill Будьте Appriciated.

5

Swift 3,0

Попробуйте с этим кодом для watsapp доступа в приложении. Он отлично работает для меня.

@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") 
      } 
     } 
    } 
} 
+0

Есть ли какой-либо лимит символов? –

 Смежные вопросы

  • Нет связанных вопросов^_^