Come posso aprire l'app Messaggi sullo schermo di composizione, con il corpo del messaggio precaricato con un testo specifico?Come posso comporre un messaggio a livello di codice?
risposta
Grazie a @ Jatin per trovare la funzione openSystemURL(url: NSURL)
.
Ecco il codice:
let messageBody = "Hello World!"
let urlSafeBody = messageBody.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!
WKExtension.sharedExtension().openSystemURL(NSURL(string: "sms:&body=\(urlSafeBody)")!)
sono sicuro che è qualcosa di stupido, ma io non sto ottenendo questo codice funzioni. Quando lo eseguo, mostra questo errore: errore fatale: inaspettatamente trovato nil mentre scartando un valore facoltativo. Come è urlSafeBody nil ?! – Charlie
Non è 'urlSafeBody' che è nullo. Stai forzando l'estrazione di 'NSURL', che risulta essere nullo perché la sua stringa di URL non è corretta. Vedi [la mia risposta] (http://stackoverflow.com/a/36567031/4151918) per i dettagli. –
Benjy's answer is almost correct, ma ha un problema.
Poiché urlSafeBody
non è da scartare, rese stringa di interpolazione
sms:&body=Optional("Hello%20World!")
che sta causando NSURL
inizializzazione per tornare zero, poiché la stringa URL non valido.
Ecco un esempio funzionante che scartano condizionalmente gli optionals. Questo rimuove qualsiasi possibilità di crash relativi a nil optionals che vengono forzati.
let messageBody = "Hello World!"
let urlSafeBody = messageBody.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLHostAllowedCharacterSet())
if let urlSafeBody = urlSafeBody, url = NSURL(string: "sms:&body=\(urlSafeBody)") {
WKExtension.sharedExtension().openSystemURL(url)
}
- 1. Come posso aggiungere un contatto a livello di codice?
- 2. Come aggiungere i vincoli a livello di codice a un UIView creato a livello di codice?
- 3. Facebook: posso aggiungere un amico a livello di codice?
- 4. Come posso aggiungere a livello di codice un livello sfumatura su un'immagine in Swift?
- 5. Come posso rilevare lo sfondo di un'immagine a livello di codice?
- 6. Ottieni codice identificativo a livello di codice
- 7. creare a livello di codice un UILabel
- 8. aggiunta di UITableView a livello di codice a un UIViewController
- 9. Sostituire un frammento a livello di codice
- 10. Come chiamare un controller di visualizzazione a livello di codice?
- 11. Come aggiungere un riferimento a livello di codice
- 12. Come creare un collegamento a livello di codice utilizzando Win32
- 13. come ridimensionare un ImageView a livello di codice
- 14. Inviare MMS a livello di codice
- 15. Come posso accedere a un URL specifico a livello di codice in Silverlight?
- 16. Come posso collegare uno storyboard UISearchBar a un UISearchController creato a livello di codice?
- 17. RadioGroup: Come controllare a livello di codice
- 18. Come testare un virus a livello di codice?
- 19. Come aggiungere a livello di codice un InputAccessoryView con Autolayout?
- 20. Come incrementare un numero di versione a livello di codice?
- 21. Scorrimento a livello di codice
- 22. Posso usare T4 a livello di codice da C#?
- 23. Come creare un commit a livello di codice con Rugged?
- 24. Android: come rilevare un numero privato a livello di codice
- 25. Come seguire un file .lnk a livello di codice
- 26. Come creare un contatto a livello di codice
- 27. Come si aggiunge un riferimento all'assembly a livello di codice?
- 28. Aggiunta di pulsanti a livello di codice a un frammento
- 29. Impostazione di un lato di NSSplitView a livello di codice
- 30. Delphi - Come posso inviare un messaggio di Windows a TDataModule?
@RMenke ho controllato se MessageUI era disponibile per watchos (non lo è), e sembrava per eventuali strutture che potrebbero essere l'equivalente, ma è venuto a mani vuote. –
whereSe stai attivando questo da, puoi richiamare l'apertura di questo url: sms: 123-456-8900, ma non penso che tu possa popolare un messaggio! Https: //developer.apple.com/library/watchos/ featuredarticles/iPhoneURLScheme_Reference/SMSLinks/SMSLinks.html – Jatin
@ Jatin 1) Non credo che sia possibile aprire collegamenti su Apple Watch (l'applicazione UIA non sembra essere disponibile). 2) So che è possibile popolare il messaggio, uso baca che ho visto fare. –