Ich habe versucht, die Gesamtgröße meiner iOS-Anwendung zu reduzieren, die derzeit 48 MB beträgt. Bei der Analyse von Unterordnern stellte ich fest, dass Assets.car 41 MB benötigt. Ich kann nicht öffnen und sehen, welcher so viel Platz einnimmt.
Ich konnte keine gute Dokumentation zur Datei Assets.car finden. Kann jemand vorschlagen, wie der Inhalt angezeigt werden soll?
Antworten:
Dieses Tool kann ein .car-Archiv extrahieren: https://github.com/steventroughtonsmith/cartool
Schritte zum Extrahieren des Archivs:
Nachdem Sie die Zip-Datei von github heruntergeladen haben, kompilieren Sie sie in Xcode, um das Befehlszeilentool zu generieren. Erweitern Sie dann die
Products
Gruppe, klicken Sie mit der rechten Maustaste auf diecartool
Datei und suchen Sie sie im Finder. Sie können das Tool dann folgendermaßen ausführen:cd /path/to/cartool
./cartool /path/to/Assets.car /path/to/outputDirectory
quelle
Assets.car
aber am Endeoutput folder
ist die leer. 2) Sie führen den Befehl erneut aus und er gibt IhnenSegmentation fault: 11
.Führen Sie Apples Assetutil aus:
xcrun --sdk iphoneos assetutil --info Assets.car
Sie erhalten eine JSON-Beschreibung jedes Elements in der Datei. Etwas wie das:
{ "Height" : 60, "Scale" : 1, "RenditionName" : "D3801CE9-19F1-4CE9-97C6-7E1EFFFCAE89", "AssetType" : "Vector", "SizeOnDisk" : 10822, "Name" : "mailbox", "Idiom" : "universal", "Width" : 99 },
Beachten Sie die Zeile
"SizeOnDisk" : 10822
.Dieses Tool führt eine eingeschränkte .car-Manipulation durch und führt
man assetutil
Details aus.Das Assets.car scheint ein proprietäres Apple-Archiv zu sein, das erstmals in iOS 7 veröffentlicht wurde. Einige Dienstprogramme können seinen Inhalt mithilfe der privaten Klasse
CUICatalog
des CoreUI-Frameworks extrahieren:Es gibt auch eine App, die .car-Dateien liest: Crunch 9 $, 15-Tage-Testversion
Running
strings Assets.car
kehrte zurück@(#)PROGRAM:CoreUI PROJECT:CoreUI-475.1.1 IBCocoaTouchImageCatalogTool-9.0
Das Ausführen
find
in Xcode-Beta/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Overlays/IBCocoaTouchImageCatalogTool
ist eine ausführbare Simulator-Datei (i386 + x86_64). Ich habe nicht weiter nachgeforscht, aber ich wette, dass dieses Tool .car-Archive öffnen könnte, wenn Sie es im Simulator ausführen.quelle
Wenn Sie Asset-Kataloge durchsuchen und extrahieren möchten, können Sie auch meine App Asset Catalog Tinkerer verwenden
quelle
Assertion failed: (tokenCount < maxCountIncludingZeroTerminator - 1), function CUIRenditionKeySetValueForAttribute, file /BuildRoot/Library/Caches/com.apple.xbs/Sources/CoreUI/CoreUI-366.1/CoreTheme/ThemeStorage/CUIThemeRendition_Support.m, line 228.
Assets.car
Datei von Xcode 8 zu öffnen , die sich unterXcode.app/Contents/SharedFrameworks/DVTKit.framework/Versions/A/Resources
Guilherme Rambo sagte, es sei richtig, nicht der Lewis42.
Angenommen, eine PDF-Datei ('a.pdf') in Asserts.car.
Sie erhalten drei PNG-Dateien (a.png / a @ 2x.png / a @ 3x.png), wenn Sie cartool verwenden und das Dateiformat geändert wurde.
Wenn Sie jedoch AssetCatalogTinkerer verwenden, können Sie eine Vorschau der a.pdf-Datei anzeigen (kein Dateiformat geändert).
quelle
Universal-Binärdateien scheinen mehrere Bildauflösungen für jede Bildschirmdichte zu enthalten.
Sobald die App in den App Store hochgeladen wurde, ist die Dateigröße geringer als Ihre Universal-Binärdatei, da jedes Gerät nur die entsprechende Bilddichte erhält.
Sie können die Dateigröße hier überprüfen: iTunes Connect> Meine Apps> Ihre App> Aktivität> Ihr Build> Dateigröße im App Store
quelle
Sie können ein Online-Tool oder ein QLCARFiles QuickLook-Plugin für Mac ausprobieren
quelle