Как открыть приложение «Сообщения» на экране компоновки, причем тело сообщения предварительно загружено конкретным текстом?Как я могу программно составить сообщение?
ответ
@Jatin для нахождения функции openSystemURL(url: NSURL)
.
Вот код:
let messageBody = "Hello World!"
let urlSafeBody = messageBody.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!
WKExtension.sharedExtension().openSystemURL(NSURL(string: "sms:&body=\(urlSafeBody)")!)
Я уверен, что это что-то тупое, но я не получаю этот код работать. Когда я его выполню, он показывает эту ошибку: фатальная ошибка: неожиданно найденный nil при развертывании необязательного значения. Как выглядит urlSafeBody? – Charlie
Это не 'urlSafeBody', которое равно нулю. Вы принудительно распаковываете «NSURL», который, оказывается, равен нулю, потому что его строка URL неверна. См. [Мой ответ] (http://stackoverflow.com/a/36567031/4151918). –
Benjy's answer is almost correct, но есть один вопрос.
Поскольку urlSafeBody
не развернула, строка интерполяции урожайности
sms:&body=Optional("Hello%20World!")
, которая вызывает NSURL
инициализации для возврата ноль, так как строка URL-адрес имеет неверный формат.
Вот рабочий пример, который условно разворачивает дополнительные опции. Это устраняет любую возможность сбоев, связанных с отсутствием дополнительных опций, которые могут быть отключены.
@RMenke Я проверил, был ли MessageUI доступен для watchOS (это не так), и искал любые фреймворки, которые могут быть эквивалентными, но при этом пустые. –
Если вы вызываете это, вы можете открыть этот URL-адрес: смс: 123-456-8900, но я не думаю, что вы можете заполнить сообщение! Https: //developer.apple.com/library/watchos/ featuredarticles/iPhoneURLScheme_Reference/SMSLinks/SMSLinks.html – Jatin
@Jatin 1) Я не верю, что вы можете открывать ссылки на Apple Watch (UIApplication, похоже, недоступен). 2) Я знаю, что можно заполнить сообщение, использование baca, которое я видел. –