2013-03-13 4 views
4

Я использую MFMesageComposeViewController для отправки сообщения, что это создает проблемы для меня.MFMessageComposeViewController: как ограничить отправку сообщения как сотового сообщения не как iMessage

Когда я отправляю сообщение нескольким получателям, он отлично работает, iMessages Включить или отключить настройки. Но когда я отправляю сообщение на один контакт и iMessages разрешены из настроек, которые он мне дает «Ошибка доставки» в приложении «Сообщение» и покажите это как iMessage.

Как я могу заставить MFMessageComposeViewController отправить его в виде Сотового сообщения.

Мой код:

[[[MFMessageComposeViewController alloc] init] autorelease]; 
if ([MFMessageComposeViewController canSendText]) { 
    controller.body = @"Sample Text Message"; 
    controller.recipients = [NSArray arrayWithObject:@"XXXXXXXXXXXX"]; 
    controller.messageComposeDelegate = self; 
    } 

ответ

2

Короче - вы не можете. Если iMessage включен на устройстве, а получатель доступен как клиент iMessage, сообщение будет отправлено как iMessage. Это поведение определяется самой iOS, вы не можете его изменить.

+1

Нет, я тестирую это на тех цифрах, которые не зарегистрированы в качестве идентификатора Apple или iMessage ID –

+0

Это не имеет значения. В вашем коде вы также не можете определить статус номера мобильного телефона - это клиент iMessage или клиент сотового сообщения. –

+1

Я думаю, что это может быть ошибка в последней версии iOS, так как заранее, если я отправил «SMS» для моего времени на поезд, он отправил SMS пользователям без iMessage, теперь он отправляет как iMessage независимо от того, имеет ли получатель iMessage или нет. Мне нужно войти в «Сообщения» и отправить его в виде SMS. –

1

Apple не предоставляет каких-либо методов для определения того, отправлено ли сообщение как «iMessage» или «SMS».

Кроме того, ваше сообщение не будет отправлено как iMessage, если вы не подключены к Интернету. Если у вас медленное подключение к Интернету, ваше сообщение будет автоматически отправляться как SMS.

Если получатель доступен как клиент iMessage, а iMessage включен на вашем устройстве, ваше сообщение будет отправлено как iMessage. И если в то время вы не подключены к Интернету, тогда кнопка «отправить» будет автоматически отключена.

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