2

zipArchive sdk を使用してファイルを解凍しています。ただし、UnzipOpenFile 呼び出しは、4 GB を超えるファイルでは失敗します。助けてください。

4

1 に答える 1

1

私は同じ問題に遭遇し、数日かけて解決しようとしました。最後に、私はそれを解決しました。

私の指示では、iOS で大きなファイル (8GB も含む) を問題なく解凍できます。

これは、それを解決するための段階的な手順です。

1) https://github.com/flyingdolphinstudio/Objective-Zipから Objective-Zip をダウンロードします。

2) https://github.com/nmoinvaz/minizipから MiniZip をダウンロードします。

3) minizip フォルダー (手順 2 でダウンロードしたもの) から 4 つのファイル (ioapi.c、ioapi.h、unzip.c、unzip.h) を取得し、Objective-Zip/MiniZip フォルダー (上書きファイル) に貼り付けます。

4) Objective-Zip/Objective-Zip/ZipFile.m に移動し、この文字列を置き換えます

int err= unzLocateFile(_unzFile, [fileNameInZip cStringUsingEncoding:NSUTF8StringEncoding], 1);

これに

int err= unzLocateFile(_unzFile, [fileNameInZip cStringUsingEncoding:NSUTF8StringEncoding], (unzFileNameComparer)1);

5) 最後に、Objective-Zip をプロジェクトに追加して、解凍してください。:)

iOS で大きなファイルを解凍できるようになりました。私は8GB-zipをチェックしました。すべてが魅力的に機能します!

PS: Objective-Zip の開発者はできるだけ早く私の修正でそれを更新するので、この手順は Objective-Zip 0.8.1 のみに適用されます。

于 2013-05-22T13:27:26.183 に答える