2011-03-18 9 views
27

iPhone 시뮬레이터를 통해 이메일을 보낼 수 있는지 알고 싶습니다.iOS 시뮬레이터를 통해 이메일을 보내는 방법은 무엇입니까?

이제

http://www.edumobile.org/iphone/iphone-programming-tutorials/compose-mail-application-in-iphone/

테스트 그것이 실제 장치가 필요하다 : I는 다음과 아이폰을 통해 이메일을 보내기위한 자습서를 본 적 있어요? iPhone 시뮬레이터를 통해 전자 메일을 보내려면 어떻게해야합니까?

+2

실제 장치가 필요합니다. – Seunghoon

답변

30

mailComposeController:didFinishWithResult:error:에 반환 된 MFMailComposeResult이 올바른지 iOS에 의존해야합니다. 시뮬레이터는 그 결과를 가짜로 만든다. 실제로는 MFMailComposeResultSent이지만 메일은 전송되지 않습니다.

언급 된 튜토리얼은 중요한 포인트를 벗어났습니다 : 당신이 MFMailComposeViewController을 사용하기 전에 가장 먼저 할 일은 [MFMailComposeViewController canSendMail]을 확인하는 것입니다. 사용자가 기기에서 메일을 구성하지 않은 경우 해당 기기는 NO을 반환합니다. 올바른 방법은 클래스 MFMailComposeViewController이 존재하는지 확인하는 것입니다 3.0 이전에 아이폰 OS 버전을 지원해야하는 경우 :

Class mailClass = (NSClassFromString(@"MFMailComposeViewController")); 
if (mailClass != nil) 
{ 
    if ([mailClass canSendMail]) 
    { 
     [self displayComposerSheet]; 
    } 
    else 
    { 
     [self launchMailAppOnDevice]; 
    } 
} 
else 
{ 
    [self launchMailAppOnDevice]; 
} 

canSendMail-문제

는하지만 실제 장치에서 테스트 할 수 있습니다. canSendMail을 확인하지 않고 사용자에게 메일 계정이 구성되어 있지 않으면 충돌이 발생합니다.

+0

내 작업을 위해서 나는 단지 작곡가를 보여줄 필요가 있습니다. 그러나 나는 그렇게 할 수 없다. MFMailComposeViewController * composeVC = [[MFMailComposeViewController alloc] init]; . 이 행은 경고 컨트롤러를 표시합니다. –

1

시뮬레이터의 MessageUI 프레임 워크를 사용하여 메시지를 작성하고 '보낼'수 있지만 실제로 메시지를 보내는 방법은 없다고 생각합니다. 사용자가 메시지 작성보기에서 보내기 단추를 누르면 코드는 메시지를 보내는 데 어떤 역할도하지 않습니다. 따라서 시뮬레이터로 앱을 개발하고 테스트 할 수 있습니다.

실제 장치가 필요한지 여부에 관해서는 어떤 시점에서 무엇이든지 상관없이 하나 이상의 장치에서 테스트해야한다고 말하고 싶습니다. 시뮬레이터는 훌륭한 도구이지만, 특정 시점 이후에 앱을 실제로 실행하는 대신 사용할 수는 없습니다.

4

예 실제로 이메일을 보내려면 필요합니다.

대부분의 경우 사과 애플이 메일을 보내므로 걱정할 필요가 없으므로 앱이 응답하고 메일 작곡가가 시작되는지 확인할 필요가 있습니다. 첨부 파일과 이미지가 제대로 전송되도록하려면 문제가 있다고 생각할 수있는 유일한 방법입니다. 이 경우 당신은 아이폰으로 누군가에게 베타를 보내고 당신에게 그것을 확인하도록 요청할 수 있습니다.

중요 개발하는 데 비판적인 장치가있는 경우 시뮬레이터는 정확하게 장치와 동작하지 않습니다. 그는 용서이며 내 경험에 나는 항상 시뮬레이터가 아닌 장치에 문제가 있었다.

+0

내 작업을 위해서 나는 단지 작곡가를 보여줄 필요가있다. 그러나 나는 그렇게 할 수 없다. MFMailComposeViewController * composeVC = [[MFMailComposeViewController alloc] init]; . 이 라인은 경고 컨트롤러를 팝업합니다 –

3

discussion on apple forum에 따르면, 우리는 실제로 장치가 필요한 기능을 테스트하기 위해 시뮬레이터가이 기능을 지원하지 않습니다.

는 토론에서 일부

:

sptrakesh는 시카고 재 : IOS 시뮬레이터

MAIL APP 삼월 (26) 2012 오전 7시 9분 (응답 davemac75하는)

메일 응용 프로그램입니다 시뮬레이터에서는 사용할 수 없습니다. 해당 부분을 테스트 할 장치에서 응용 프로그램을 테스트하려면 이 필요합니다.

관련 문제