NSMutableArrayに250kバイトを超えて保存することはできないという別の投稿(アーカイブ/アーカイブ解除の結果はinitForReadingWithDataの理解できないアーカイブになります)を読みました。残念ながら、NSKeyedUnarchiverを使用してこのようなデータを回復するには、NSMutableArrayを使用する必要があります。500kB前後のサイズの画像を取り戻そうとしています。
MTMessage *message = [NSKeyedUnarchiver unarchiveObjectWithData:data];
私が得るエラーは次のとおりです:
キャッチされなかった例外'NSInvalidArgumentException'が原因でアプリを終了しています、理由:'***-[NSKeyedUnarchiver initForReadingWithData:]:理解できないアーカイブ(0x0、0x10、0x4a、0x46、0x49、0x46、0x0、0x1) '
どうやらそれはかなり一般的な状況です(私はまだ解決策を見つけていませんが)。NSMutableDataの使用をバイパスする方法について何か考えがありますか。ありがとうございました。
編集:実際には、データのサイズは524 288バイトであると書かれていますが、これは正しいので、問題はアンアーカイバーに起因する可能性があります。