1

ZipArchive または SSZipArchive を使用する代わりに、Mac のターミナル経由でファイルを解凍したいと考えています。

ターミナルで「unzip」コマンドを試してみたところうまくいきましたが、目的のCコードで表現する方法がわかりません。

私はこの方法を試しました (リンク: Unzip without prompt ) 動作しますが、すべてのファイルではなくファイルの半分しか解凍されません。

ありがとう !!

4

2 に答える 2

5

機能は試しましたsystem()か?

system("unzip -u -d [destination full path] [zip file full path]");

NSString完全なコマンド (ファイル パスを含む) を使用して を作成し、それをシステム コマンドの C 文字列に変換する必要があります。次のようになります。

NSString *myCommandString = 
[NSString stringWithFormat:@"unzip -u -d %@ %@", destinationPath, zipPath];
system([myCommandString UTF8String]);

これはコマンドの出力を何も返さないので、操作がどのように行われたかについての詳細が必要な場合は、プロンプトなしで解凍する質問からの解決策を使用したほうがよいでしょうが、プロジェクトでエラー処理が必要ない場合は、これを行う必要があります大丈夫です。

于 2013-07-19T01:58:03.763 に答える