使用按钮和文本字段/视图(iPhone)打开消息应用程序(SMS应用程序)

时间:2011-02-01 14:08:44

标签: iphone objective-c sms message

这可能吗?

该应用程序将有一个按钮和一个文本字段或文本视图。

用户在文本字段或文本视图中键入电话号码。当用户完成后,用户按下将在iPhone中打开消息或SMS应用程序的按钮。

我该怎么做?如果可能请提供一些代码! :)

提前谢谢!

3 个答案:

答案 0 :(得分:8)

查看MessageComposer Sample AppMFMessageComposeViewController 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.frameworksee this answer)。

通过#import <MessageUI/MessageUI.h>将其导入您的课程,然后在.h文件中添加<MFMessageComposeViewControllerDelegate>,例如像这样:

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

@interface YourClass : UIViewController <MFMessageComposeViewControllerDelegate> 
{
    // ...

答案 1 :(得分:6)

另一种简短的方法,可以更好地帮助任何人:)

NSString *sms = @"sms:+1234567890&body=This is sms body.";
NSString *url = [sms stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];

答案 2 :(得分:0)

在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")
        }
    }