ios - 是否可以在 cocoa touch 中找到用户发送短信的号码?

标签 ios cocoa-touch sms

我正在使用下面的代码发送短信。我们想找到用户发送文本的号码并给他们免费信用。我只是想知道是否有可能获得用户发送文本的号码。

-(IBAction)promotionSms{
    if(![MFMessageComposeViewController canSendText]) {
        UIAlertView *warningAlert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Your device doesn't support SMS!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [warningAlert show];
        return;
    }

    NSString *message = [NSString stringWithFormat:@"Text Here"];

    MFMessageComposeViewController *messageController = [[MFMessageComposeViewController alloc] init];
    messageController.messageComposeDelegate = self;
    [messageController setBody:message];

    // Present message view controller on screen
    [self presentViewController:messageController animated:YES completion:nil];
}

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
    [self dismissViewControllerAnimated:YES completion:nil];

    if (result == MessageComposeResultCancelled)
        NSLog(@"Message cancelled");
    else if (result == MessageComposeResultSent)
        NSLog(@"Message sent");
    else
        NSLog(@"Message failed");
}

最佳答案

没有办法知道用户发送消息的号码。

一个替代就像:

实现ABPeoplePickerNavigationController用于在您的应用程序中选择联系人。如果他们选择一个联系人,请在 MFMessageComposeViewController 中显示您的消息和号码(在 ABPeoplePickerNavigationController 上选择)。 这样您就可以跟踪号码,没有其他方法可以做到这一点。

在上述情况下,在呈现 MFMessageComposeViewController 之后,用户可以从那里编辑号码,然后您将无法获得编辑后的号码。

关于ios - 是否可以在 cocoa touch 中找到用户发送短信的号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27480362/

相关文章:

ios - 即使在注册 fcm token ios 后也没有在设备上收到通知

android - 从 android 和 eclipse 发送短信

c#从电脑发送短信

iOS 8 - UIBarButtonItem 推送 Segue 覆盖操作

java - 通过Android手机使用java通过PC发送短信

ios - UIVisualEffectView 和 UITableViewCell 内部的触摸

ios - iOS13/Xcode 11 上的大标题导航栏为黑色

ios - NSFileManager 不删除临时文件夹中的文件

ios - 如何更改后退按钮上的文字

iphone - 将 double 值表示为 NSString