Apri whatsapp su iOS con il nuovo numero di telefono precompilato

So che esiste uno schema per comunicare con Whatsapp come:

NSURL *whatsappURL = [NSURL URLWithString:@"whatsapp://send?text=Hello%2C%20World!"]; if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) { [[UIApplication sharedApplication] openURL: whatsappURL]; } 

Ma non riesco a trovare come aprire WhatsApp con un numero di telefono che non esiste prima.

È per una pagina di "contatc us" e se posso aprire solo WhatsApp e non posso pre-riempire un numero di telefono, è inutile. Devo essere contattato con whatsapp …

Esiste ciò che sto cercando di fare?

Solutions Collecting From Web of "Apri whatsapp su iOS con il nuovo numero di telefono precompilato"

Per il numero di telefono precompilato e text

  NSURL *whatsappURL = [NSURL URLWithString:@"https://api.whatsapp.com/send?phone=9530670491&text=hello"]; if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) { [[UIApplication sharedApplication] openURL: whatsappURL]; } 

clicca qui per Swift

Controllare il collegamento per ulteriori dettagli https://www.whatsapp.com/faq/en/general/26000030

Secondo la documentazione di Whatsapp , è necessario avere effettivamente il contatto nella tua rubrica per aprire una discussione dallo schema URL.
Quindi per la tua domanda

Esiste ciò che cerco di fare?

la risposta è: No.

inserisci la descrizione dell'immagine qui

Puoi trovare la documentazione di quella API di whatsapp sopra la risposta. Aggiungendo qualche punto in più in base al mio process:

Per comunicare direttamente con il contatto specifico è necessario che vi rimanga. ABID è quel parametro che viene automaticamente generato dal sistema quando si salva il contatto. Quindi, se non hai un numero salvato nel tuo contatto, in nessun modo puoi aprirlo dalla tua applicazione.

C'è un rimedio che ho usato. Quando l'applicazione si carica per la prima volta nel dispositivo, si salva il numero di contatto nella rubrica. quando il numero salvato con successo si otterrà ABID nel return. puoi usare quell'ABID per invocare messaggi con quel contatto.

 NSURL *whatsappURL = [NSURL URLWithString:@"whatsapp://send?abid=123&text=Hello%2C%20World!"]; 

Se qualcuno cerca la versione Swift

 static func triggerWhats(_ vc:UIViewController){ let msg = "Hello! I have a question" let urlWhats = "whatsapp://send?phone=+6599999999&text=\(msg)" if let urlString = urlWhats.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed){ if let whatsappURL = NSURL(string: urlString) { if UIApplication.shared.canOpenURL(whatsappURL as URL) { _ = UIApplication.shared.open(whatsappURL as URL, options: [:], completionHandler: nil) } else { // Cannot open whatsapp ViewUtil().popAlertView(vc, title: "WhatsApp Support", message: "Please WhatsApp us at +65999999 if you have any questions", option: "Ok") } } } } 

Swift 3.0 open whats app.

nel file info.plist aggiungi questa row

 <key>LSApplicationQueriesSchemes</key> <arrays> <string>whatsapp://</string> </arrays> func OpenWhatsApp(_ vc:UIViewController){ let msg = "" // here pass your message let urlWhats = "https://api.whatsapp.com/send?phone=(Mobileno)&text=\(msg)" // Mobile number that include country code and without + sign . if let urlString = urlWhats.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed){ if let whatsappURL = NSURL(string: urlString) { if UIApplication.shared.canOpenURL(whatsappURL as URL) { if #available(iOS 10.0, *) { _ = UIApplication.shared.open(whatsappURL as URL, options: [:], completionHandler: nil) } else { // Fallback on earlier versions UIApplication.shared.canOpenURL(whatsappURL as URL) } } else { // Cannot open whatsapp AppUtilities.sharedInstance.showAlert(title: "WhatsApp Support", msg: "Your device is not support whats app") } } } }