Приложение «Открыть сообщение» (приложение SMS) с кнопкой и текстовым полем / Просмотр (iPhone) - PullRequest
3 голосов
/ 01 февраля 2011

Возможно ли это?

Приложение будет иметь кнопку и текстовое поле или текстовое представление.

Пользователь вводит номер телефона в текстовом поле или текстовом представлении.когда пользователь закончил, он нажимает кнопку, которая откроет приложение Сообщения или SMS в iPhone.

Как бы я это сделал?Если возможно, укажите код!:)

Заранее спасибо!

Ответы [ 3 ]

8 голосов
/ 01 февраля 2011

Взгляните на Пример приложения MessageComposer и MFMessageComposeViewController Class .

Затем вы делаете что-то подобное, хотя сначала вы должны проверить, является ли MFMessageComposeViewController действительно доступно на вашем устройстве (см. пример MessageComposer):

MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];
picker.messageComposeDelegate = self;
picker.recipients = [NSArray arrayWithObjects:@"1234", @"2345", nil];
picker.body = yourTextField.text

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

Сначала необходимо импортировать MessageUI.framework ( см. этот ответ ).

Импортируйте его в свои классы через #import <MessageUI/MessageUI.h> и добавьте <MFMessageComposeViewControllerDelegate> в файл .h, например, так:

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

@interface YourClass : UIViewController <MFMessageComposeViewControllerDelegate> 
{
    // ...
6 голосов
/ 08 июня 2016

Еще один короткий путь, может помочь кому-то намного лучше :)

NSString *sms = @"sms:+1234567890&body=This is sms body.";
NSString *url = [sms stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
0 голосов
/ 26 июля 2017

In Swift 3.0

static func sendMessageToNumber(number:String,message:String){

        let sms = "sms:\(number)&body=\(message)"
        let url = URL(string:sms)!
        let shared = UIApplication.shared

        if(shared.canOpenURL(url)){
            shared.openURL(url)
        }else{
            print("unable to send message")
        }
    }
...