최근에 Apple에 앱을 제출했으며 슬프게도 거부되었습니다. 그 이유는 작동하지 않는 친구에게 전자 메일 기능이 있다는 것입니다. (말할 필요도 없지만 내 장치에서 잘 작동합니다.) 주제와 본문을 채우고 첨부 파일을 추가하는 MFMailComposeViewController를 사용하고 있습니다. 그런 다음 나머지 작업을 수행해야합니다. 내가 정교을 요청하면 검토했다 ...MFMailComposeViewController를 사용하여 보낸 메시지를 보내지 못했습니다.
우리가 앱을 전송 한 이메일은 Gmail에서 나와, 야후, 테스트 계정있다 "보낼 편지함,"보내는 메일 서버를하지 못했습니다라는 오류와 함께 도달합니다.
... 내 앱의 오류로 계산 되나요? 실제로 메일을 보내지 않고, 내장 된 SDK 호출을 사용하여 메시지를 준비합니다. 나는 "그것은 당신의 장치"라는 논쟁이 정말로 내 앱이 승인 받기 위해 나를 진전시키지 않을 것이라고 생각하지만, 나는 정말로 그것이 그들의 장치라고 생각한다.
누구나 이메일이 이와 같은 메시지와 함께 실패 할 수있는 이유를 생각해 볼 수 있습니까? 내가
- (void)sendMail
{
NSData *vCards = (NSData *)ABPersonCreateVCardRepresentationWithPeople((CFArrayRef)self.selections);
MFMailComposeViewController *mc = [[MFMailComposeViewController alloc] init];
mc.mailComposeDelegate = self;
[mc setSubject:@"Contact"];
[mc setMessageBody:@"<p>My message...<p>" isHTML:YES];
NSString *label = ([self.selections count] == 1)? (NSString *)ABRecordCopyCompositeName([self.selections objectAtIndex:0]): @"Contacts";
[mc addAttachmentData:vCards mimeType:@"text/x-vcard" fileName:label];
[self presentModalViewController:mc animated:YES];
[mc release];
}
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error {
switch (result) {
case MFMailComposeResultCancelled:
NSLog(@"Mail send canceled.");
break;
case MFMailComposeResultSaved:
NSLog(@"Mail saved.");
break;
case MFMailComposeResultSent:
NSLog(@"Mail sent.");
break;
case MFMailComposeResultFailed:
NSLog(@"Mail send error: %@.", [error localizedDescription]);
break;
default:
break;
}
[self dismissModalViewControllerAnimated:YES];
}
가 지금은 메시지가 실패 할 경우 실제로 유용한 아무것도 아니에요 이해 메시지를 보낼
그리고 지금 내 코드
......하지만해야 메시지가 작성 단계에서 실패 할 경우 사용자의 보낼 편지 함으로 전달됩니다.
오류 세부 정보를 경고하는 다른 버전을 제출할 예정이지만 그럴 수 있습니다.
나는 내 애플 리케이션 중 하나에서 당신과 거의 동일한 코드를 가지고 있으며 잘 동작한다. 이 판결은 앱과 가혹하고 관련이없는 것으로 보입니다. 테스트 기기의 이메일 계정이 제대로 설정되지 않았다는 내용의 항소를 제출 했습니까? – onnoweb
장치가 [MFMailComposeViewController canSendMail] – onnoweb
을 사용하여 전자 메일을 보낼 수 있는지 확인하는 유일한 추가 작업은 감사합니다. 항소를 제출했습니다. 어쨌든 iOS 5가 필요하므로 ABPersonCreateVCardRepresentationWithPeople에 관계없이 메일을 보낼 수 있어야합니다. 나중에 어떻게 작동하는지 알려 줄 것입니다. – rob5408