0

私のアプリは、いくつかのバックアップ ファイルをパッケージとして作成します (実際には、拡張子を持つディレクトリ、および com.apple.package に準拠するエクスポートされた UTI として)。

MFMailComposeViewController で電子メールに添付できる NSData としてそれらを読み取れるようにしたいと考えています。実際、パッケージを読み取ろうとすると nil が返されるため機能しませんdataWithContentsOfURL:(通常のファイルではなく、ディレクトリだからだと思います)。

iPhone から「アプリ コンテナ」をダウンロードすると、Mac でパッケージ ファイルにアクセスできるので、パッケージ ファイルに問題がないことはわかっています。

NSFileWrappers を使用して生成し、writeToURL:options:originalContentsURL:error:メソッドを呼び出します。serializedRepresentationNSFileWrapper でのみ読み取ることができる NSData を生成するため、使用したくありません([パッケージの内容を表示] をクリックして、Mac で開くことができるようにしたい)。

動作しないコードの部分は次のとおりです。

NSURL *finalBackupURL = [outputDirectoryURL URLByAppendingPathExtension:@"ext"];
if (![packageWrapper writeToURL:finalBackupURL options:0 originalContentsURL:nil error:error])
    @throw [NSException exceptionWithError:*error];

NSData *data = [NSData dataWithContentsOfURL:finalBackupURL];

data = nil一方、ファイルは適切に作成されています)

ご協力ありがとうございました

4

0 に答える 0