2012-03-05 3 views
14

До вчерашнего дня я думал, что отправлять фоновые SMS-сообщения без использования интерфейса SMS-сообщений IOS невозможно (что тоже многие уверяют). Однако сегодня я загрузил новое приложение под названием SmartSender, которое планирует ваше SMS-сообщение, а затем отправляет его автоматически.Отправить SMS программно, без окна SMS-композитора

Я протестировал его, и SMS на самом деле не отправлен на задний план, но появляется локальное уведомление, и когда вы нажимаете на него, чтобы принести приложение на передний план, SMS отправляется автоматически.

Как это можно достичь?

Возможно, Apple одобрила приложение, потому что интерфейс очень прост в том, что вы делаете и что отправляете, но как вы можете отправлять SMS без отображения интерфейса?


Обновление: запланированная SMS появляются на мой телефон Messages приложение как отправленные, так что я не думаю, что они используют другой сервис для отправки SMS, а также приемник телефона указывается, что SMS было отправлено из моего Телефон.


Update 2: OK Я использую и смотреть приложение делает это, так что можно без отображения интерфейса по умолчанию, я не спрашиваю, можно ли это сделать или нет. Я использую его, когда все интернет-соединения отключены, и сообщение отправляется из МОЯ ТЕЛЕФОНА, чтобы он появился в APAP MESSAGES. Таким образом, приложение не использует сторонний сервис.


Обновление 3: Я приму свой ответ, на самом деле это невозможно; однако именно на этот вопрос был дан ответ. В заявлении, о котором идет речь, теперь указано в его описании, что он не будет работать в iOS 6, поэтому я думаю, что Apple исправила некоторые ошибки, которые могут быть использованы для достижения этой функциональности.

+1

Разве они не используют свой собственный шлюз? – MrTJ

+0

Они должны использовать свой собственный шлюз SMS для достижения этого, и после отправки sms они отправляют уведомление пользователю. Но пути нет. Если вы не планируете распространять свое приложение через магазин приложений. –

+0

@ RaphaelAyres, прочитайте мои править пожалуйста – htafoya

ответ

3

На самом деле это невозможно; однако именно на этот вопрос был дан ответ.

В заявлении, о котором идет речь, теперь указано, что он не будет работать под IOS 6, поэтому я думаю, что яблоко исправило ошибку, которая может быть использована для достижения этой функциональности.

2

Вы можете использовать:

[[UIApplication sharedApplication] openURL: @"sms:+3912345678"]; 

он не работает на тренажере ... и вы не можете отправить программно смс!

Проверен на прошивке < 6.

+1

Это больше не работает. Apple удалила поддержку этого, чтобы избежать sms-рассылки спама и отправки нежелательных смс. –

+0

-1: Я попробовал приложение, о котором упомянул OP, и он ** ** отправляет SMS в фоновом режиме. – yuji

+0

Приложение sms недоступно в симуляторе, и нет приложения, обрабатывающего этот URL-адрес, поэтому он не работает в симуляторе .. но он отлично работает на устройстве, где есть приложение для сообщений, доступное для обработки этого URL-адреса (это не будет работа в ios-6, как упоминалось выше) –

0

Там нет никакого способа, чтобы отправить SMS программно. Возможно, вам захочется исследовать стороннюю сервисную службу для отправки SMS, например Twilio.

+0

спасибо, но я использую приложение и наблюдаю за его работой без подключения к Интернету и без отображения интерфейса по умолчанию. – htafoya

+0

-1: Я попробовал приложение, о котором упомянул OP, и он ** делает ** отправку SMS в фоновом режиме. Он даже отправляется как iMessage, где это применимо, поэтому он явно происходит на устройстве, а не на стороннем сервисе. – yuji

5

Вы не можете отправить SMS программно в фоновом режиме, вы можете использовать следующий сторонний API для отправки текстового сообщения (SMS).

  1. http://www.twilio.com/
  2. http://www.nexmo.com/
  3. https://www.tropo.com/

Я хотел бы предложить nexmo, его легко использовать и поддерживать международные сообщения также.

+0

Приложение не использует сторонний сервис, оно работает без подключения к Интернету, и сообщения отправляются с моего телефона, как они появляются в приложении сообщений – htafoya

+0

-1: Я пробовал приложение, упомянутое в OP, и оно ** отправляет ** SMS в фоновом режиме. – yuji

+0

@WildFire Я пытаюсь с реалиями twilio отправить SMS в фоновом режиме, так будет ли он одобрен яблоком, когда я отправлю его для просмотра? есть идеи? – bhavin

6

Попробовав приложение, я могу проверить, что оно делает отправьте SMS программно, без отображения интерфейса SMS. И это явно не происходит через сторонний сервис, поскольку сообщение отправляется как iMessage, когда это возможно.

Из всех других ответов также ясно, что для отправки SMS программным образом нет каких-либо публичных API-интерфейсов, поэтому разработчик должен использовать частный API и все же каким-то образом пропустить это приложение через процесс утверждения.

В частности, похоже, что он использовал API CoreTelephony. This post on SO описывает процедуру. Видимо, вам также нужно будет где-то попасть в файлы заголовков CoreTelephony.

+0

-1 для вашего случайного -1 в этой ветке и потому, что 'CTMessageCenter sendSMSWithText' является ** частным API **. _ Если вы читаете другие ответы, вы можете заметить, что ВСЕ пользователи говорят о третьей части или недокументированных api или веб-sms, и вы отвечаете недокументированным методом?_ Нет документации о CTMessageCenter: http://goo.gl/GWp85 – elp

+13

OP хочет знать, как SmartSender программно отправляет SMS. Если вы действительно попробовали приложение, вы бы знали, что он посылает SMS программно. Ни один из других ответов не достиг этого, и именно поэтому я отказал им. Мой цитирование частного API не имеет значения. OP хочет знать, как программно отправлять SMS, и нет другого пути. Мне жаль, что вы почувствовали необходимость понизить мой ответ только потому, что вы расстроены, но это не значит, что это задержка (http://stackoverflow.com/privileges/vote-down). В будущем я надеюсь, что вы можете быть более зрелыми и подавать голоса на основе заслуг, а не личных чувств. – yuji

5

Я изучаю ограничение на отправку/получение SMS на iOS в течение нескольких дней, используя iOS 6 и XCode 4.5 (последние, начиная с момента написания). Мне было интересно узнать об этом приложении SmartSender, и я купил его.

Я не знаю, если это потому, что я только пробовал его на iOS 6, но я получаю стандартный контроллер сообщений (MFMessageComposeViewController) для отправки сообщений. Я пробовал задержку отправки - я получаю контроллер сообщений в указанное время и должен вручную нажать «Отправить». Я попробовал немедленную отправку - это вызывает контроллер, и мне также нужно вручную нажать «Отправить». Если я нажму кнопку «Отмена», приложение фактически запустит меня обратно в контроллер сообщений (я не могу отменить, если я не убью приложение!)

Так верно, это позволяет вводить сообщения из пользовательского интерфейса, но тогда само сообщение копируется в MFMessageComposeViewController, и это то, что отправляет SMS. Поэтому App Store одобрен, но ничего подобного, что мы все ищем!

+0

Хорошо, спасибо за ваши комментарии. Возможно, это была ошибка в IOS 5, и теперь она исправлена ​​на IOS 6. – htafoya

Смежные вопросы