2009-09-03 3 views
2

Кто-нибудь каждый вложил программу электронной почты iPhone в свое собственное приложение?iPhone - В любом случае, чтобы получить приложение электронной почты для iPhone в своем собственном приложении?

Позвольте мне попытаться и упростить это. Tap Tap Revenge позволяет вам «вызывать друга». Когда вы решите сделать это, они откроют стандартную программу электронной почты iPhone (если они имитируют ее, это выглядит чертовски хорошо), в приложении с предварительно заполненными данными. Все, что вам нужно сделать, это выбрать друга из ваших контактов и нажать отправить. Вы никогда не покидаете приложение Tap Tap Revenge.

Любые идеи, как это делается?

ответ

5

Вы должны включить MessageUI.framework в свой проект, и в файле заголовка необходимо установить делегат:

#import <MessageUI/MessageUI.h> 
@interface RootViewController : UIViewController <MFMailComposeViewControllerDelegate> { 
    MFMailComposeViewController *email; 
} 

@property (nonatomic, retain) MFMailComposeViewController *email; 

После того, как вы сделаете это, у вас есть несколько методов делегирования внутри вашего файла реализации вам нужно включить (вы должны проверить, чтобы увидеть результат, но я стараюсь держать как можно меньше кода по мере необходимости):

@synthesize email; 

- (void) mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error { 
    [email dismissModalViewControllerAnimated:YES]; 
} 

Везде, где вы хотите использовать это, необходимо инициализировать и настроить его так:

email = [[MFMailComposeViewController alloc] init]; 
email.mailComposeDelegate = self; 

// Subject 
[email setSubject:@"Testing"]; 

// Optional Attachments 
NSData *artwork = UIImagePNGRepresentation([UIImage imageNamed:@"albumart.png"]); 
[email addAttachmentData:artwork mimeType:@"image/png" fileName:@"albumart.png"]; 

// Body 
[email setMessageBody:@"This is the body"]; 

// Present it 
[self presentModalViewController:email animated:YES]; 
+0

Спасибо, это укажет мне в правильном направлении и начнет меня! Большое спасибо. – bbullis21

0

Для этого есть два ответа. Для приложений, которые должны поддерживать iPhone OS до 3.0, единственный способ - создать собственный композитор сообщений. Или вы можете захотеть взглянуть на компонент, созданный Джо Хьюиттом, который написал приложение для iPhone Facebook.

http://github.com/joehewitt/three20/blob/master/src/Three20/TTMessageController.h

С iPhone SDK 3.0 вы можете использовать сообщения электронной почты композитор UI прямо, если окно с помощью MessageUI.framework, как описано выше.

+0

Спасибо за ссылку. – bbullis21

+0

ссылка не работает! – MaKo

3

В дополнении к большому отклику Garett, в вы должны получить предупреждение:

'MFMailComposeViewController' может не реагировать на '-setMessageBody:'

добавить isHTML: так полная линия читается как:

[mail setMessageBody: @ «Это тело» isHTML: NO];

0

messagecomposer - это путь! почты и смс внутри приложения, запустите iOS 3.1. need sdk 4

Смежные вопросы