0

メールに添付ファイルとしてメールを追加しようとしています。私はこのようにします。

-(IBAction)mailPDF:(id)sender{
    MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init];
    controller.mailComposeDelegate = self;
    NSLog(@"myData is %@",myData);
    [controller setSubject:@"Geselecteerde favorieten van Genk on Stage"];
    [controller setMessageBody:@"<p>Hallo muziekliefhebber <br /> In bijlage vind je jouw favorieten. Volg en praat met ons mee op facebook.com/genkonstage of @genkonstage!<br /> Veel plezier op Genk on stage! </p>" isHTML:YES];
    if (controller){
        [self presentModalViewController:controller animated:YES];
        [controller addAttachmentData:myData mimeType:@"application/pdf" fileName:@"favorite.pdf"];
    }else{
        NSLog(@"nothing to show");
    }
}

これは私がmyDataを設定する方法です

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"favorite.pdf"];
 myData = [NSData dataWithContentsOfFile: filePath];

ログmyData(私の pdf) を見ると、空ではありません。また、ファインダで自分のドキュメント フォルダsimulatorを参照すると、PDF があることがわかります。

PDF がメールに追加されない理由を誰か教えてもらえますか?

ありがとう!

EDIT 上記のコードはIOS6でのみ機能するようです。ですから、問題は今です。IOS 5 で機能しないのはなぜですか

4

2 に答える 2

1

最初にView Controllerを提示してから、ファイルを添付しています。アクションの順序を変更します。

つまり、あなたのコード行では:

[self presentModalViewController:controller animated:YES];

[controller addAttachmentData:myData mimeType:@"application/pdf" fileName:@"favorite.pdf"];

次のように変更します。

[controller addAttachmentData:myData mimeType:@"application/pdf" fileName:@"favorite.pdf"];

[self presentModalViewController:controller animated:YES];

問題が解決することを願っています:)

于 2013-06-13T12:36:39.767 に答える
0

これを試して、

-(IBAction)mailPDF:(id)sender{
  MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init];
  controller.mailComposeDelegate = self;
  NSLog(@"myData is %@",myData);
  [controller setSubject:@"Geselecteerde favorieten van Genk on Stage"];
  [controller setMessageBody:@"<p>Hallo muziekliefhebber <br /> In bijlage vind je jouw favorieten. Volg en praat met ons mee op facebook.com/genkonstage of @genkonstage!<br /> Veel plezier op Genk on stage! </p>" isHTML:YES];

  if (controller)
     {
     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
     NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"favorite.pdf"];
     NSData *myData = [NSData dataWithContentsOfFile:filePath];
     [controller addAttachmentData:myData mimeType:@"application/pdf" fileName:@"favorite.pdf"];
     [self presentModalViewController:controller animated:YES];
    }
 else{
    NSLog(@"nothing to show");
    }
}
于 2013-06-13T12:38:13.543 に答える