web-dev-qa-db-ja.com

メールの平静iOS 8

Xcode 6からiOS 8でメールの冷静さを開こうとしていますが、エラーが発生します。 Xcode 5から試している場合、同じコードが正常に機能しています。後で、Apple開発者ポータルからサンプルコードをダウンロードしました。

https://developer.Apple.com/library/content/samplecode/MessageComposer/Introduction/Intro.html

しかし、結果は同じです。 Xcode 6のコードを最適化するために何か、またはいくつかの設定がありません

コードは次のとおりです。私のボタンアクションで

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];

picker.mailComposeDelegate = self;

[picker setSubject:@"Hello from California!"];

// Set up recipients
NSArray *toRecipients = [NSArray arrayWithObject:@"[email protected]"]; 
NSArray *ccRecipients = [NSArray arrayWithObjects:@"[email protected]", @"[email protected]", nil]; 
NSArray *bccRecipients = [NSArray arrayWithObject:@"[email protected]"]; 

[picker setToRecipients:toRecipients];
[picker setCcRecipients:ccRecipients];  
[picker setBccRecipients:bccRecipients];

// Attach an image to the email
NSString *path = [[NSBundle mainBundle] pathForResource:@"rainy" ofType:@"jpg"];
NSData *myData = [NSData dataWithContentsOfFile:path];
[picker addAttachmentData:myData mimeType:@"image/jpeg" fileName:@"rainy"];

// Fill out the email body text
NSString *emailBody = @"It is raining in sunny California!";
[picker setMessageBody:emailBody isHTML:NO];

[self presentViewController:picker animated:YES completion:NULL];

メールデリゲート

self.feedbackMsg.hidden = NO;
// Notifies users about errors associated with the interface
switch (result)
{
    case MFMailComposeResultCancelled:
        self.feedbackMsg.text = @"Result: Mail sending canceled";
        break;
    case MFMailComposeResultSaved:
        self.feedbackMsg.text = @"Result: Mail saved";
        break;
    case MFMailComposeResultSent:
        self.feedbackMsg.text = @"Result: Mail sent";
        break;
    case MFMailComposeResultFailed:
        self.feedbackMsg.text = @"Result: Mail sending failed";
        break;
    default:
        self.feedbackMsg.text = @"Result: Mail not sent";
        break;
}

[self dismissViewControllerAnimated:YES completion:NULL];

結果:

結果0で自動的に消える電子メール冷静デリゲート、つまりMFMailComposeResultCancelled

エラーコード付き:MessageComposer [10993:196902] viewServiceDidTerminateWithError:Error Domain = _UIViewServiceInterfaceErrorDomain Code = 3 "操作を完了できませんでした。(_ UIViewServiceInterfaceErrorDomainエラー3)" UserInfo = 0x7b93f7e0 {Message = Service Connection Interrupted}

そして

2014-09-17 22:04:22.538 MessageComposer [10993:205761] com.Apple.MailCompositionServiceからのフェンスバリアの待機中にタイムアウトしました

51
Chahal

見た目では、これはシミュレーターのみの問題です。 (iOS 8シミュレーター)globalMailerアプローチは、デバイス上で正常に機能します。

この問題が発生した場合は、実際のデバイスでテストしてください。

102
Vrasidas