【发布时间】:2011-07-05 11:34:56
【问题描述】:
我在以编程方式从 iPhone 发送 SMS 时遇到一个非常特殊的问题,这是我希望我的代码工作/外观的方式:
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]];
它起到了一种魅力 - 但有点违背了从通讯簿中检索数字的目的。
有什么想法吗?
【问题讨论】:
标签: objective-c ios ios4