Wie kann ich die App "Nachrichten" auf dem Bildschirm "Verfassen" öffnen, wobei der Nachrichtentext mit einem bestimmten Text vorinstalliert ist?Wie kann ich eine Nachricht programmatisch verfassen?
Antwort
Dank @Jatin zum Finden der openSystemURL(url: NSURL)
Funktion.
Hier ist der Code:
let messageBody = "Hello World!"
let urlSafeBody = messageBody.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!
WKExtension.sharedExtension().openSystemURL(NSURL(string: "sms:&body=\(urlSafeBody)")!)
ich bin sicher, dass es etwas dumm ist, aber ich bin nicht dieser Code immer zu arbeiten. Wenn ich es ausführe, zeigt es diesen Fehler an: Schwerwiegender Fehler: unerwartet fand Null beim Auspacken eines optionalen Wertes. Wie ist urlSafeBody nil ?! – Charlie
Es ist nicht "UrlSafeBody", das ist Null. Sie erzwingen das Auspacken von 'NSURL', das zufällig null ist, weil seine URL-Zeichenfolge falsch formatiert ist. Einzelheiten finden Sie unter [meine Antwort] (http://stackoverflow.com/a/36567031/4151918). –
Benjy's answer is almost correct, hat aber ein Problem.
Da urlSafeBody
nicht ausgepackt, string Interpolation Ausbeuten
sms:&body=Optional("Hello%20World!")
die NSURL
Initialisierung verursacht Null zurück, da die URL-Zeichenfolge ungültig ist.
Hier ist ein Arbeitsbeispiel, das die Optionals bedingt auspackt. Dies beseitigt die Möglichkeit von Abstürzen im Zusammenhang mit dem Auspacken von Nulle-Optionals.
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. Wie kann ich eine Nachricht erhalten
- 2. WCF - ungefähre Nachricht Messgrößen programmatisch
- 3. Erstellen von GUI zum Verfassen von E-Mail-Nachricht
- 4. Wie kann ich eine iPad App programmatisch schließen?
- 5. Wie kann ich meine Anwendung programmatisch aktualisieren?
- 6. Wie kann ich ASP.NET 3.5 programmatisch erkennen?
- 7. Verfassen UIActivityTypeMessage mit UIImage
- 8. Kann ich Android: layout_toLeftOf programmatisch?
- 9. Wie lösche ich eine Log-Datei programmatisch?
- 10. Wie kann ich programmatisch auf Cookies testen?
- 11. Wie kann ich einen Kontakt programmatisch hinzufügen?
- 12. Wie kann ich eine reiche Kommunikation Nachricht auf Android abfangen
- 13. Wie kann ich eine Nachricht mit mpack senden?
- 14. Wie kann ich eine Nachricht an einen anderen Knoten senden?
- 15. Wie kann ich eine Nachricht in Makefile drucken?
- 16. Wie kann ich eine neue Nachricht im mavlink-Protokoll hinzufügen?
- 17. Wie kann ich eine Nachricht später im Bot-Framework senden?
- 18. Wie kann ich eine SOAP-Nachricht mit PHP senden?
- 19. Wie kann ich eine private Nachricht im IRC richtig zuordnen?
- 20. Wie kann ich eine Nachricht in RabbitMQ zurückziehen?
- 21. Wie kann ich eine Nachricht in MailKit als gelesen markieren
- 22. Verfassen Sie eine Nachricht mit vordefinierten Link von iOS App in Facebook Messenger
- 23. Wie boost :: mpl zum Verfassen von Richtlinien verwendet werden kann?
- 24. Wie programmiere ich eine Bitmap programmatisch?
- 25. Wie öffne ich eine Nachricht in UWP?
- 26. verfassen und Arraylist
- 27. Wie serialisiere ich eine Mail-Nachricht?
- 28. Funktionen/Operatoren mit RxJS verfassen
- 29. Kann ich setProgress benutzen, um eine Suchleiste programmatisch zu ändern
- 30. Wie programmiere ich programmatisch Medien?
@RMenke Ich habe überprüft, ob MessageUI für watchOS verfügbar war (ist es nicht), und suchte nach Frameworks, die das Äquivalent sein könnten, aber leer ausgegangen. –
wo immer Sie dies auslösen, können Sie das Öffnen dieser URL aufrufen: sms: 123-456-8900, aber ich glaube nicht, dass Sie eine Nachricht ausfüllen können! Https: //developer.apple.com/library/watchos/ featuredarticles/iPhoneURLScheme_Reference/SMSLinks/SMSLinks.html – Jatin
@Jatin 1) Ich glaube nicht, dass Sie Links auf Apple Watch öffnen können (UIApplication scheint nicht verfügbar zu sein). 2) Ich weiß, dass es möglich ist, die Nachricht zu bevölkern, baca benutze ich habe es gesehen. –