Open JetForMe opened 6 months ago
I can reproduce the issue with the archive you provided.
Currently, I don't have the capacity to investigate/fix this. So far, I found that the archive is using the ZIP64 extensions (which ZIPFoundation supports). But for some reason, it's obtaining wrong offsets from the ZIP64 structure that describes the entries. Due to the wrong offsets, creating an iterator for the entries fails.
Since extraction with the macOS built-in archive utility succeeds and also unzip -t
doesn't report any errors, I suppose the archive metadata contains some edge cases that currently aren't not covered by ZIP Foundation's ZIP64 support.
If you want to have a look yourself, a good starting point would be Archive.makeIterator
& CentralDirectoryStructure.effectiveRelativeOffsetOfLocalHeader
.
Summary
The attached .3mf file is a zip archive with this directory structure:
I'm able to partially inspect this
But I can’t enumerate those top level items:
Prints nothing. Attempting to get
archive["3D"]
returns nil.Version 0.9.19
I had to zip the file to get Github to accept it. Unzip it, then try to load the resulting file using Arhive().
GO-M8010-6-P1.3mf.zip