iOS 6 - ChatKit私有API - 发送短信

3
有人已经成功地在iOS 6中通过代码发送短信了吗?
我认为需要使用ChatKit私有API来实现这一点。然而,在iOS 6中,这个API被苹果改变了很多。因此,像https://stackoverflow.com/a/11028230/1884907这样的解决方案不再适用于iOS 6,因为存在缺失/更改的类。
(预先声明:是的,我们都知道苹果会拒绝使用私有API的应用程序,这不是为了App Store)

你在这里找到解决方案了吗? - newenglander
1个回答

1

以下是来自另一个StackOverflow帖子这里的代码(Kaushal Bisht提供)

// in .m file
-(void)textClicked

{


 controller = [[MFMessageComposeViewController alloc] init];

 if([MFMessageComposeViewController canSendText])

    {


       controller.body = @"Whatever you want";

   controller.recipients = [NSArray arrayWithObjects:@"", nil];

       controller.messageComposeDelegate = self;

       [self presentViewController:controller animated:YES completion:nil];
      }


   }

  - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result

  {

  UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"MyApp" message:@"Unknown Error"
                                               delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];

switch (result) {
    case MessageComposeResultCancelled:
        NSLog(@"Cancelled");
        [alert show];
        break;
    case MessageComposeResultFailed:
        [alert show];

        break;
    case MessageComposeResultSent:

        break;
    default:
        break;
  }

[self dismissViewControllerAnimated:YES completion:nil];
    }



// in .h file

 import MessageUI/MessageUI.h

尽管如此,您无法在后台发送短信消息。希望这可以帮到您。


1
谢谢,但我担心这会显示消息视图控制器。目标是在没有用户交互的情况下发送短信。它必须以某种方式与ChatKit API一起工作,但我想没有人发现如何做到这一点。 - jakob.j
就像我之前说的那样,苹果不允许你在后台发送信息,因为用户需要知道他们正在发送什么,因为他们将为此付费,所以你必须通过已登录的电子邮件应用程序或苹果短信/ iMessage 应用程序发送消息。很抱歉,但这是为了保障用户的安全。 - SkylerHill-Sky
这涉及到App Store中的公共应用程序,而且这没问题。 但我很肯定有一种非官方的方法来使用私有API。例如,也可以通过私有API发起和接受电话呼叫并挂断。当然,使用此类API的应用程序将不会获得App Store的批准,所以对于用户来说没有问题。 但重要的是要知道,并非所有开发的应用程序都是为了在App Store上公开发布。有些是为了公司内部目的,这就是我们需要这些功能并知道如何访问它们的原因。 - jakob.j

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接