0

ユーザーがドキュメントディレクトリに記録したファイルがあります...uitableviewに表示されます...

このコードをdidSelectRowAtIndexPathに配置しました...なぜこれが機能しないのですか?

     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@",[directoryContents objectAtIndex:indexPath.row]]];
NSURL *audioURL = [NSURL URLWithString:fileName];
NSData *audioData = [NSData dataWithContentsOfURL:audioURL];

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

    mailer.mailComposeDelegate = self;

[mailer addAttachmentData:audioData mimeType:@"audio/caf" fileName:fileName];
4

1 に答える 1

1

URLを正しく作成していません。fileURLWithPathではなく、を使用する必要がありますURLWithString

また、これ:

NSString *fileName = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@",[directoryContents objectAtIndex:indexPath.row]]];

する必要があります:

NSString *fileName = [documentsDirectory stringByAppendingPathComponent:[directoryContents objectAtIndex:indexPath.row]];

文字列形式は必要ありません。

最後のもの。メソッドに渡されるaddAttachmentファイル名は、フルパス名ではなく、単なるファイル名である必要があります。

于 2013-02-03T22:34:08.367 に答える