2016-09-25 3 views
2

Я пытаюсь отправить сообщение whatsapp на номер получателя, хранящийся в глобальной переменной!Отправка сообщения Whatsapp определенному номеру контакта (Swift Project)

Используя этот простой код:

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() 
     } 

Я всегда получаю предупредительное сообщение, которое это так же еще! , хотя число всегда верно! Может быть, ошибка в синтаксисе url?

В консоли:

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

Является ли это правильный способ сделать это? Или этот способ просто для обмена, текст через Whatsapp?

ответ

3

Два вопроса.

Первый - это не действительная схема URL. Схема URL принимает формат identifier://params, поэтому вам нужно будет использовать whatsapp://phone_number.

Во-вторых, Apple теперь требует, чтобы вы определяли, какие внешние схемы URL, которые ваше приложение использует в вашем файле Info.plist, вложенные под ключ LSApplicationQueriesSchemes. Для получения дополнительной информации см. iOS 9 not opening Instagram app with URL SCHEME.


Согласно схеме документации Whatsapp URL, вы не можете на самом деле поставить номер телефона контакта, который вы хотите, чтобы отправить сообщение: https://www.whatsapp.com/faq/en/iphone/23559013.

Однако вы можете поставить сообщение, которое вы хотели бы отправить к ним:

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

Убедитесь, что текст закодирован в процентах, иначе NSURL не сможет создать действительный URL-адрес из предоставленной строки.

+0

Я сделал это! Но я могу открыть приложение whatsapp только не получателю, к которому хочу отправить сообщение? – Mariah

+0

Как я могу сделать его прямым для получателя? – Mariah

+0

@Mariah похоже, что это невозможно, согласно их документам: https://www.whatsapp.com/faq/en/iphone/23559013, однако вы можете указать текст. См. Обновленный ответ. –

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

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