У меня довольно странная проблема с программной отправкой 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]];
Это работает как очарование - но отчасти побеждает цель извлечения чисел из адресной книги.
Есть идеи?