2011-12-08 14 views
1

最近Appleにアプリを提出しましたが、残念ながら拒否されました。理由は、それが動作していない友人の機能に電子メールを持っていたということでした。 (言うまでもなく、私のデバイスではうまくいく)。私は、MFMailComposeViewControllerを使用して、件名と本文を入力し、添付ファイルを追加しています。その後、ユーザーは残りのアクションを送信して送信する必要があります。私が精緻化を頼んだとき、査読者は言った...MFMailComposeViewControllerを使用して送信されたメッセージが失敗しました

私たちがあなたのアプリで送った電子メールは、GmailとYahooのテストアカウント "outbox"にリストされています。到達する。

...これはアプリでエラーとしてカウントされますか?私は実際にメールを送信しません、私はちょうどメッセージを準備するために組み込まれた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]; 
} 

は、今私はメッセージが失敗した場合、私は実際に役に立つ何かをやっていないよということを理解し、メッセージを送信

そして今、私のコード

...

...、しかしべきメッセージは作成レベルで失敗した場合でもユーザーの送信トレイに届くことさえありますか?

私はエラーの詳細を警告する別のバージョンを提出するつもりですが、私はそこに何かが存在するのではないかと疑います。

+1

私のアプリの中であなたと同じコードを持っており、うまくいきます。この判決は、あなたのアプリには厳しくなく関連しているようです。控訴を提出しましたが、テストデバイスのメールアカウントがうまく設定されていないことを示唆していますか? – onnoweb

+0

デバイスが[MFMailComposeViewController canSendMail]を使用して電子メールを送信できるかどうかを確認する唯一の追加の事は – onnoweb

+0

です。ありがとうございました。とにかく私はiOS 5を必要とするため、ABPersonCreateVCardRepresentationWithPeopleのためにメールを無関係に送信できるはずです。それはどのように動作するかを知らせます。 – rob5408

答えて

0

私のiPhoneの最後の夜私は、私のアプリがレビュー中>レビュー待ち> App Storeの処理>売り切れの準備ができていることをiTunesConnectから通知しました。決議センターにはそれ以上のメモはなく、アップルからこの問題についての他の電子メールは届いていません。私はすべてうまくいくのはうれしいですが、まだいくつかの縁起のバグが私に死に至らせていることは間違いなく残っています。申し訳ありませんが、解像度はとても退屈です。

ここに店の私のアプリはhttp://itunes.apple.com/us/app/cloner/id483981001?mt=8(プラグ)です。皆様に素晴らしい提案をいただきありがとうございます。

1

あなたは送信エラーを処理しないという事実から、あまりにも曖昧な拒絶の理由かもしれません。フィードバックには非常に似た実装があります。私は理由が何であるかを知らせる警告を表示し、ユーザーが再試行することを検討します。アップルはあらゆる可能性についてあなたにチェックします。

+0

ありがとうございましたビル、私は上訴を提出し、彼らはあなたがレビュー時にビルドを変更しないように要求します。理由は、私がエラーを処理していないということですが、曖昧な "電子メールは送信しません"というメッセージではなく、拒否理由でそれを述べるべきです。 – rob5408

+0

私は同意するでしょう。しかし、これは私たちがクールなキッズクラブのメンバーになるために支払う代金です。 ;)魅力と幸運。 –

3

私は似たようなことをしました。あなたはそれにvcardを送らないようにしてもいいですか?それが動作するかどうかを教えてください...

+0

私のテストの間、それはうまく動作します。また、vCardを送信することはアプリの主要な部分ですので、私はそれを使わないでバージョンを提出したくありません。 – rob5408

+0

...それが問題であってもよいし、 – Issa

+0

本当に良い提案を、私は同じ問題を抱えていた、と私は、ファイル名(ラベル)への.vcf拡張子を追加し、それがうまく働いた...それを試して、私も行くこれを​​あげます。 – rob5408

関連する問題