2017-01-04 8 views
0

MFMailComposeViewController가 개발 과정에서 작동 한 이유에 대한 의견은 없지만 프로덕션 환경에 Cloudkit 환경을 설정하면보기 컨트롤러가 팝업되지 않습니다. 이것은 이상하게 보입니다. 그러나 나는 이유가 있다고 확신합니다. 문자 그대로 5 분 전에 작동 한 코드는 다음과 같습니다. 나머지 응용 프로그램은 작동하며 서버와 완벽하게 연결됩니다.MFMailComposeViewController가 프로덕션 환경에서 작동하지 않습니다.

CKDatabase *publicDatabase = [[CKContainer defaultContainer] publicCloudDatabase]; 
CKRecordID *record = [[CKRecordID alloc] initWithRecordName:@"hidden for stackoverflow"]; 
[publicDatabase fetchRecordWithID:record completionHandler:^(CKRecord * record, NSError *error) { 
    if (!error) { 
     dispatch_async (dispatch_get_main_queue(), ^{ 
      feedbackNumber = record[@"RequestNumber"]; 

      NSString* number = record[@"RequestNumber"]; 
      int value = [number intValue] +1; 
      record[@"RequestNumber"] = [NSString stringWithFormat:@"%d",value]; 
      [publicDatabase saveRecord:record completionHandler:^(CKRecord *savedRecord, NSError *saveError) { 

       dispatch_sync(dispatch_get_main_queue(), ^{ 
        NSString *emailTitle = [NSString stringWithFormat:@"%@%@%@", @"Request #", [NSString stringWithFormat:@"%d",value], @" - AssassinsX Immerse"]; 
        NSString *messageBody = @"Please type your email below"; 

        NSArray *toRecipents = [NSArray arrayWithObject:@"email here, hidden for stackoverflow"]; 

        MFMailComposeViewController *mc = [[MFMailComposeViewController alloc] init]; 
        mc.mailComposeDelegate = self; 
        [mc setSubject:emailTitle]; 
        [mc setMessageBody:messageBody isHTML:NO]; 
        [mc setToRecipients:toRecipents]; 

        [self presentViewController:mc animated:YES completion:nil]; 

       }); 
      }]; 
     }); 
    } 
}]; 
+0

디버거를 사용하여 어떤 일이 발생하는지 확인하십시오. 가져 오기 및 저장이 성공합니까? 개발 스키마를 프로덕션 환경에 적용 했습니까? – rmaddy

답변

-1

귀하의 기기에 메일 계정을 추가했는지 확인하십시오. 여기에 코드가 있습니다

import UIKit 
import MessageUI 
class ViewController: UIViewController,MFMailComposeViewControllerDelegate 
{ 
    override func viewDidLoad() 
    { 
     super.viewDidLoad() 
     self.SendMail() 
    } 

    func SendMail() 
    { 
     let to = ["[email protected]"] 
     let Subject = "Subject Here" 
     let MessageBody = "Message Body"    
     let mc: MFMailComposeViewController = MFMailComposeViewController() 
     mc.mailComposeDelegate = self 
     mc.setSubject(Subject) 
     mc.setMessageBody(MessageBody, isHTML: false) 
     mc.setToRecipients(to) 
     self.presentViewController(mc, animated: true, completion: nil) 
    } 
}