Как создать приложение для SMS в iPhone - PullRequest
2 голосов
/ 12 февраля 2010

Я новичок в разработке для iphone, я хочу создать приложение SMS в своем приложении. Я создал почтовое приложение с использованием "messageUI.framework". Есть ли какие-то рамки для создания приложения SMS. Я понятия не имею, поэтому мне способ подойти к этой задаче. Пожалуйста, помогите мне выполнить мою задачу. Пожалуйста, помогите мне. Спасибо.

Ответы [ 4 ]

2 голосов
/ 12 февраля 2010

К сожалению, нет встроенного контроллера представления для отправки SMS, такого как MFMailComposeViewController для электронной почты.

Начиная с iOS 4.0, вы можете использовать MFMessageComposeViewController, аналог MFMailComposeViewController только для электронной почты. Это позволяет выложить и отправить SMS-сообщение.

Кроме того, вы можете использовать схему SMS-URL, как описано в этот вопрос . Однако, похоже, что вы не можете предварительно заполнить текст сообщения SMS таким образом.

2 голосов
/ 09 февраля 2012

Вы можете использовать класс MFMessageComposeViewController, , как описано в Apple .

Для этого сначала добавьте MessageUI.framework в ваш проект.

// в файле .h внести следующие изменения

#import <MessageUI/MessageUI.h>
#import <MessageUI/MFMessageComposeViewController.h>

@interface YourViewController: UIViewController <MFMessageComposeViewControllerDelegate>

// затем в файле .m сделайте следующее.

- (void)viewDidLoad {
    [super viewDidLoad];

SMSLabel = [[UILabel alloc] initWithFrame:CGRectMake(30.0, 340.0, 260.0, 30.0)];
    SMSLabel .frame = CGRectMake(30.0, 340.0, 260.0, 30.0);
    SMSLabel .adjustsFontSizeToFitWidth = YES;
    SMSLabel .hidden = YES;
    SMSLabel .text = @"";
    SMSLabel .userInteractionEnabled = NO;
    SMSLabel.alpha=0.0;
    [self.view addSubview:SMSLabel ];  


}

-(void)ComposerSheet 
{
    MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];
    picker.messageComposeDelegate = self;

    picker.recipients = [NSArray arrayWithObject:@"1234567"];  
    picker.body = @"iPhone OS4";

    [self presentModalViewController:picker animated:YES];
    [picker release];

}

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result {
    SMSLabel.alpha=1.0;

    switch (result)
    {
        case MessageComposeResultCancelled:
            SMSLabel .text = @"Result: canceled";
            NSLog(@"Result: canceled");
            break;
        case MessageComposeResultSent:
            SMSLabel .text = @"Result: sent";
            NSLog(@"Result: sent");
            break;
        case MessageComposeResultFailed:
            SMSLabel .text = @"Result: failed";
            NSLog(@"Result: failed");
            break;
        default:
            SMSLabel .text = @"Result: not sent";
            NSLog(@"Result: not sent");
            break;
    }

    [self dismissModalViewControllerAnimated:YES];

}
1 голос
/ 12 февраля 2010

Отправка сообщений довольно проста - обычно вы можете отправить электронное письмо на специально отформатированный номер, например 555.555.5555@verizon.net (только пример, не уверен в реальном формате), и оно будет отправлено на устройство. Не будет простого способа получать смс-сообщения в вашем приложении.

Однако вы можете попробовать использовать один из многих бесплатных sms apis , таких как ZeepMobile

0 голосов
/ 27 августа 2014

MFMessageComposeViewController отправит сообщение через приложение iMessage. Но если вы хотите отправить смс через сетевую карьеру вашего iPhone, то следующий код поможет вам

    NSString *phoneToCall = @"sms:";
NSString *phoneToCallEncoded = [phoneToCall stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSURL *url = [[NSURL alloc] initWithString:phoneToCallEncoded];
[[UIApplication sharedApplication] openURL:url];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...