2015-12-18 25 views
6

Oluşturma ekranında Mesajlar uygulamasını belirli bir metinle önceden yüklenmiş olarak nasıl açabilirim?Bir mesaj nasıl programlanabilir?

+0

@RMenke MessageUI'nin WatchOS için uygun olup olmadığını kontrol ettim (bu değil) ve eşdeğeri olabilecek, ancak boş olan tüm çerçeveler için baktım. –

+0

Burada bunu tetiklediyseniz, bu URL'nin açılmasını engeller misiniz: sms: 123-456-8900, ama bir mesaj doldurabileceğinizi sanmıyorum! Https: //developer.apple.com/library/watchos/ featuredarticles/iPhoneURLScheme_Reference/SMSLinks/SMSLinks.html – Jatin

+0

@Jatin 1) Apple Watch üzerindeki bağlantıları açabileceğinize inanmıyorum (UIApplication mevcut değil gibi görünüyor). 2) Mesajı doldurmanın mümkün olduğunu biliyorum, baca kullanımını yaptım. –

cevap

0

openSystemURL(url: NSURL) işlevini bulmak için @Jatin'a teşekkürler.

İşte kod:

let messageBody = "Hello World!" 
let urlSafeBody = messageBody.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())! 
WKExtension.sharedExtension().openSystemURL(NSURL(string: "sms:&body=\(urlSafeBody)")!) 
+0

Ben bir şey aptal eminim, ama bu kod işe almıyorum. Bunu çalıştırdığımda, bu hatayı gösterir: ölümcül hata: İsteğe bağlı bir değer çıkarılırken beklenmedik şekilde sıfır bulunur. urlSafeBody nil ?! – Charlie

+1

Bu 'urlSafeBody' değil nil. URL dizesi hatalı biçimlendirildiğinden sıfır olma ihtimali olan "NSURL" 'ı zorla açıyorsunuz. Ayrıntılar için [yanıtım] bölümüne bakın (http://stackoverflow.com/a/36567031/4151918). –

6

Benjy's answer is almost correct, ama bir sorunu var. urlSafeBody yana

, URL dizesi bozuk biçimli olduğu, NSURL başlatma nil döndürülmesine neden dize enterpolasyon verimleri

sms:&body=Optional("Hello%20World!")

açılmamış değildir.

İsteğe bağlıları koşullu olarak açan bir çalışma örneği. Bu, zorunlu isteğe bağlı olan isteğe bağlı seçeneklerle ilgili herhangi bir kilitlenme olasılığını ortadan kaldırır.

İlgili konular