Ошибка отправки текста на iPhone программно, неверный формат номера телефона? - PullRequest
0 голосов
/ 05 июля 2011

У меня довольно странная проблема с программной отправкой SMS с iPhone, вот как я хочу, чтобы мой код работал / выглядел:

MFMessageComposeViewController *textController = [[[MFMessageComposeViewController alloc] init] autorelease];
        textController.messageComposeDelegate = self;
        if([MFMessageComposeViewController canSendText])
        {
            [textController setBody:[managedObject valueForKey:@"Message"]];
            [textController setRecipients:[NSArray arrayWithObjects:[managedObject valueForKey:@"Number"], nil]];
            [self presentModalViewController:textController animated:YES];
        }

Однако значение, которое я сохраняю в [managedObject valueForKey@"Number"], равноизвлечены из адресной книги на более ранней стадии и имеют довольно странное форматирование, например "073-339 53 46".Я знаю, что iOS хранит телефонные номера в виде строк, но почему-то мне не разрешено отправлять на номера, отформатированные таким образом (я получаю sigabrt - "[NSCFString count]: unrecognized selector sent to instance 0x1204b0").

Но если я жестко закодирую число как (без пробелов и тире):

[textController setRecipients:[NSArray arrayWithObjects:@"0733395346", nil]];

Это работает как очарование - но отчасти побеждает цель извлечения чисел из адресной книги.

Есть идеи?

1 Ответ

1 голос
/ 05 июля 2011
MFMessageComposeViewController *textController = [[MFMessageComposeViewController alloc] init];

textController.messageComposeDelegate = self;

if([MFMessageComposeViewController canSendText])
{
    [textController setBody:[NSString stringWithFormat:@"%@",[managedObject valueForKey:@"Message"]]];
    [textController setRecipients:[NSArray arrayWithObjects:[NSString stringWithFormat:@"%@",[managedObject valueForKey:@"Number"]], nil]];
    [self presentModalViewController:textController animated:YES];

    [textController release];
}

вам нужно преобразовать это сообщение и номер в NSString.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...