【问题标题】:Error sending text on iPhone programmatically, wrong format on the phone number?以编程方式在 iPhone 上发送文本时出错,电话号码格式错误?
【发布时间】: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


    【解决方案1】:
    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。

    【讨论】:

    • 非常感谢!但是 - 我觉得这很奇怪,因为我已经将它们作为字符串存储在核心数据中......?有没有想过为什么要这样做?
    • 在核心数据中,字符串可能以不同的方式存储。如果您想在其他地方使用它们,那么您应该像简单地使用它们
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-22
    • 2014-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多