2010-02-12 87 views
2

我是iphone開發新手,我想在我的應用程序中創建短信應用程序。我使用「messageUI.framework」創建了郵件應用程序。是否有創建短信應用程序的任何框架。不知道它,所以告訴我接近這個任務的方式。請指導我完成我的任務。請幫助我。謝謝。如何在iPhone中創建短信應用程序

+0

對於AppStore或不? – kennytm

+0

它不適用於AppStore。 – Pugal

回答

2

遺憾之一,沒有內置的視圖控制器像MFMailComposeViewController電子郵件發送短信。

從iOS 4.0開始,您可以使用MFMessageComposeViewController,它是僅限電子郵件的MFMailComposeViewController的對應物。這可讓您佈置併發送短信。

此外,您可以使用SMS URL方案,如this question中所述。但是,看來你是這樣的cannot prepopulate the body of an SMS message

1

發送消息比較簡單 - 您通常可以將電子郵件發送至特殊格式的數字,例如[email protected](僅用於舉例,不確定真實格式),然後發送至設備。本地不會有一種簡單的方式在您的應用中接收短信。

你可以,但是,請嘗試使用的許多free sms apisZeepMobile

2

您可以使用MFMessageComposeViewController類as documented by 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]; 

} 
0

MFMessageComposeViewController將通過iMe​​ssage應用程序發送消息。但如果你想通過你的iPhone的網絡生涯發送短信,那麼下面的代碼將幫助你

NSString *phoneToCall = @"sms:"; 
NSString *phoneToCallEncoded = [phoneToCall stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; 
NSURL *url = [[NSURL alloc] initWithString:phoneToCallEncoded]; 
[[UIApplication sharedApplication] openURL:url]; 
相關問題