0

ZipZap ライブラリ ( https://github.com/pixelglow/zipzap ) を使用してアーカイブを作成し、8.0 リリースをより具体的にしようとしています。ライブラリは Swift コードで使用されます。

私は呼び出し時にそれを読んだ:

newArchive.updateEntries(archiveItems, error: error)

「archiveItems」が NSMutableArray である必要があり、そのように定義されています。この時点で、配列が次のようになるように、ディレクトリを 1 つだけ含むアーカイブを作成しようとしました。

var archiveItems = NSMutableArray()
archiveItems.addObject(ZZArchiveEntry(directoryName: "\(archiveName)/"))

「newArchive」は次の方法で作成されます。

var newArchive = ZZArchive(URL: NSURL(fileURLWithPath: archivePath), error: error)

表示されるエラー: EXC_BREAKPOINT(code=1, subcode=0x1001bc998)

そして私も見ました: EXC_BREAKPOINT(code=1, subcode=0x100100998)

updateEntries メソッドを呼び出さない場合、コードはクラッシュしません。したがって、クラッシュはこのメソッド内で発生すると想定しています。

4

1 に答える 1

1

結局、GitHubのサンプルに書いてある仕様を読んでいない私でした。

Glen Low (pixelglow) の助けを借りて、問題は、ファイルが存在しない場合にファイルを作成するオプションを送信せずに、実際に新しいファイルを作成しようとしているということでした。

だから、pixelglow の助けと素晴らしいライブラリに大いに感謝します!

ファイルを作成する必要があるときに init を呼び出す適切な方法は次のとおりです。

var newArchive = ZZArchive(URL: NSURL(fileURLWithPath: archivePath), options: [ZZOpenOptionsCreateIfMissingKey: true], error: &archiveError)
于 2015-02-19T17:27:03.957 に答える