MFMessageComposeViewController класс canSendText, возвращающий YES на симуляторе - PullRequest
0 голосов
/ 20 февраля 2012

Проблема в значительной степени в названии. Внедрение стандартного кода, который каждый, кажется, использует для отправки SMS-сообщений в приложении, и на симуляторе возвращается YES. Думаю, это может быть потому, что я использую iPhone Simulator, но он делает то же самое на iPad Simulator. Не уверен, стоит ли публиковать пример кода, но здесь все идет ..

.h

#import <MessageUI/MessageUI.h>
#import <MessageUI/MFMessageComposeViewController.h>

.m

-(void)sendSMS {

    if([MFMessageComposeViewController canSendText]) {
            MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
            controller.body = @"Hello";
            controller.recipients = [NSArray arrayWithObjects:nil];
            controller.messageComposeDelegate = self;
            [self presentModalViewController:controller animated:YES];
        }
    }

Он не дает сбоя Симулятору, он показывает модальный VC со стандартной синей панелью навигации и просто черным контентом.

Моя главная проблема заключается в том, что он вернет ДА ​​на устройствах, которые не поддерживают его (например, iPod / iPad). Если это ошибка в симуляторе, то я согласен с этим. Использовал этот код много раз, и он всегда возвращал NO при работе на симуляторе. У меня нет доступа к устройству iOS без возможности SMS, поэтому я не могу его протестировать.

Есть идеи? Проблема смотрит мне в лицо? Спасибо за любую помощь.

1 Ответ

1 голос
/ 09 марта 2012

Это ошибка в симуляторе, будьте уверены, в Xcode 4.3 он просто выскакивает пустой контроллер представления со следующим консольным сообщением:

Application tried to push a nil view controller on target <MFMessageComposeViewController: 0x805eb20>

Но с Xcode 4.2 он падает ... не так хорошо ...

...