Отправить SMS программно, без окна SMS-композитора
До вчерашнего дня я думал, что нельзя отправлять фоновые SMS-сообщения, не используя интерфейс IOS SMS (что тоже многие уверяют). Однако сегодня я загрузил новое приложение под названием SmartSender, которое планирует ваше SMS-сообщение, а затем отправляет его автоматически.
Я тестировал его, и SMS на самом деле не отправляется на задний план, но появляется локальное уведомление, и когда вы нажимаете на него, чтобы принести приложение на передний план, SMS отправляется автоматически.
Как это можно достичь?
Возможно, Apple одобрила приложение, потому что интерфейс очень понятен в отношении того, что вы делаете и что вы отправляете, но как вы можете отправлять SMS без отображения интерфейса?
Обновление: запланированное SMS появляется на моем мобильном телефоне. Приложенное сообщение отправлено, поэтому я не думаю, что они используют другую услугу для отправки SMS. Также на телефоне-получателе указано, что SMS-сообщение отправлено с моего телефона.
Обновление 2: ОК. Я использую и наблюдаю за приложением, поэтому ВОЗМОЖНО, не показывая интерфейс по умолчанию, я не спрашиваю, можно ли это сделать или нет. Я использую его, когда все интернет-соединения отключены, и сообщение отправляется из МОЯ ТЕЛЕФОНА, чтобы он появился в APAP MESSAGES. Таким образом, приложение не использует сторонние службы.
Обновление 3: Я приму свой ответ, на самом деле это невозможно; однако именно на этот вопрос был дан ответ. В заявлении, о котором идет речь, теперь указано в его описании, что он не будет работать в iOS 6, поэтому я думаю, что Apple исправила ошибку, которая может быть использована для достижения этой функциональности.
Ответы
Ответ 1
На самом деле это невозможно; однако именно на этот вопрос был дан ответ.
В этом описании теперь указано, что это приложение не будет работать под IOS 6, поэтому я думаю, что Apple исправила ошибку, которая может быть использована для достижения этой функциональности.
Ответ 2
Попробовав приложение, я могу проверить, что он выполняет отправку SMS программно, без отображения интерфейса SMS. И это явно не происходит через сторонний сервис, поскольку сообщение отправляется как iMessage, когда это возможно.
Также из всех других ответов видно, что нет никаких публичных API-интерфейсов для отправки SMS программно, поэтому разработчик должен был использовать частный API и все же каким-то образом пропустить это приложение через процесс утверждения.
В частности, похоже, что он использовал API CoreTelephony. Этот пост в формате SO описывает процедуру. По-видимому, вам также понадобится получить файлы заголовков CoreTelephony.
Ответ 3
Вы не можете отправить SMS программно в фоновом режиме, вы можете использовать следующий сторонний API для отправки текстового сообщения (SMS).
Я бы предложил nexmo, его простоту в использовании и поддержку международных сообщений.
Ответ 4
Я изучаю ограничение на отправку/получение SMS на iOS в течение нескольких дней, используя iOS 6 и XCode 4.5 (последние по мере написания). Мне было интересно узнать об этом приложении SmartSender, и я купил его.
Я не знаю, потому что я только пробовал это на iOS 6, но я получаю стандартный контроллер сообщений (MFMessageComposeViewController) для отправки сообщений. Я пробовал задержку отправки - я получаю контроллер сообщений в указанное время и должен вручную нажать "Отправить". Я попробовал немедленную отправку - это вызывает контроллер, и мне также нужно вручную нажать "Отправить". Если я нажму кнопку "Отмена", приложение фактически переместит меня обратно в контроллер сообщений (я не могу отменить, если я не убью приложение!)
Таким образом, это позволяет вводить сообщения из пользовательского интерфейса, но затем само сообщение копируется в MFMessageComposeViewController, и это то, что отправляет SMS. Итак, App Store одобрен, но ничего похожего на то, что мы все ищем!
Ответ 5
Вы можете использовать:
[[UIApplication sharedApplication] openURL: @"sms:+3912345678"];
он не работает на симуляторе... и вы не можете отправить программно sms!
Протестировано на iOS < 6.
Ответ 6
Невозможно отправить SMS программно. Возможно, вам захочется исследовать стороннюю сервисную службу для отправки SMS, например Twilio.