sms, e-mail, 웹페이지 외부 연결시
//사파리로 구글 열기
[[UIApplication sharedApplication] openURL:@"http://www.google.com"];
//외부 메일 연동시키기 mailto://abcd@gmail.com
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://"]];
//외부 sms 연동시키기 sms://01012340002
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://"]];
app내부 sms, email 연동
* 공통 세팅 : sms와 email을 사용하기 위해 둘다 필요한 세팅
MFMailComposeViewController를 사용하기 위해서는 MessageUI.framework를 추가해야 한다.
또한 #import <MessageUI/MessageUI.h>를 사용 할 해더에 추가한다.
그리고 sms에 대한 델리게이트를 받기 위해 MFMessageComposeViewControllerDelegate 추가
email에 대한 델리게이트를 받기 위해 MFMailComposeViewControllerDelegate를 추가한다.
*코드들은 arc를 사용한 코드 이기 때문에 arc를 사용하지 않을 경우는 release를 사용해야 한다.
MFMailComposeViewController Class 사용
Inherits from | |
Conforms to | |
Availability | Available in iOS 3.0 and later. |
MFMailComposeViewController
MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
if([MFMailComposeViewController canSendMail]) //메일을 보낼 수 있는지를 체크
{
NSString *messageTitle = @"Title";
NSString *messageBody = @"Test Message";
//보내는 사람을 세팅 , 여려명 보낼경우 array에 담아 setToRecipients 로 세팅한다.
[mailViewController setSubject:@"abcd@gmail.com"];
[mailViewController setSubject:massageTitle]; //메일 타이틀 세팅
[mailViewController setMessageBody:massageBody isHTML:NO]; //메일 내용 세팅
mailViewController.mailComposeDelegate = self; //델리게이트 설정
[self presentModalViewController:mailViewController animated:YES]; //모달로 화면을 띄운다
}
MFMailComposeViewController 델리게이트 부분
#pragma mark -
#pragma mark MFMailComposeViewControllerDelegate
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
switch (result) {
case MFMailComposeResultCancelled: //취소
break;
case MFMailComposeResultSaved: // 저장
break;
case MFMailComposeResultSent: // 보냄
break;
case MFMailComposeResultFailed: // 실패
break;
default:
break;
}
[self dismissModalViewControllerAnimated:YES]; // 취소 버튼 시 모달을 dismiss하기 위하여 사용
}
MFMessageComposeViewController Class 사용
Inherits from | |
Conforms to | |
Framework | /System/Library/Frameworks/MessageUI.framework |
Availability | Available in iOS 4.0 and later. |
MFMessageComposeViewController
MFMessageComposeViewController *smsViewController = [[MFMessageComposeViewController alloc] init];
if([MFMessageComposeViewController canSendText]) //sms를 보낼 수 있는지를 체크
{
NSString *number = [NSArray arrayWithObjects:@"01012345678", @"01087654321", nil];
NSString *messageTitle = @"Title";
NSString *messageBody = @"Test Message";
[smsViewController setRecipients: number]; //번호를 세팅, 사용하지않을 경우 사용자가 직접 입력으로 나온다.
[smsViewController setTitle:messageTitle]; // sms 타이틀을 세팅 ( 사용하지 않아도 상관없음 )
[smsViewController setBody:messageBody]; // sms에 보낼 내용을 세팅
smsViewController.messageComposeDelegate = self; // 델리게이트 세팅
[self presentModalViewController:smsViewController animated:YES]; //모달로 화면을 띄운다.
}
MFMessageComposeViewController 델리게이트 부분
#pragma mark -
#pragma mark MFMessageComposeViewControllerDelegate
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
switch (result) {
case MessageComposeResultCancelled: //취소
break;
case MessageComposeResultFailed: //실패
break;
case MessageComposeResultSent: //보냄
break;
default:
break;
}
[self dismissModalViewControllerAnimated:YES]; // 취소 버튼 시 모달을 dismiss하기 위하여 사용
}
app내부 메일 사용 화면 ( 에플 라이브러리 제시 이미지 )
'iPhone' 카테고리의 다른 글
xcode4 svn 연결 (3) | 2012.10.16 |
---|---|
UITableView Header와 SectionHeader custom 변경 (0) | 2012.09.27 |
상단 status bar 색상, 숨기기 변경 (0) | 2012.09.18 |
UIGestureRecognizer 사용 (0) | 2012.08.21 |
URL Schemes로 다른 어플 호출하기 (0) | 2012.06.07 |