Ich habe gerade eine statische Bibliothek für iOS mit der Build-Einstellung für Architekturen erstellt $(ARCHS_STANDARD_INCLUDING_64_BIT)
.
Ich möchte sicherstellen, dass die .a-Bibliothek diese Architektur ordnungsgemäß enthält, aber wenn ich sie ausführe lipo -info
, sehe ich:
Architekturen in der Fat-Datei: library.a sind: armv7 armv7s (cputype (16777228) cpusubtype (0))
Bedeutet dies, dass arm64 nicht enthalten ist? Wenn der Lipo-Befehl es mir nicht sagen kann, gibt es eine andere Möglichkeit, es zu sagen?
Ich verwende Xcode 5 mit den neuesten installierten Befehlszeilentools.
ios
objective-c
static-libraries
lipo
Joel Fischer
quelle
quelle
lipo
herauskam, scheint der mit v10.9 gelieferte Arm64 nativ zu erkennen. Sie müssen nichts von Xcode aus aufrufen. Laufen wurde beim Testen einfach unter anderem für eine für mich relevante Bibliotheklipo -info $(FILENAME)
gemeldetarm64
.lipo
kennt jetzt alle unterstützten Architekturen. Dies war nicht der Fall, als arm64 neu war.Auch gute Alte
file
können es schaffen:$ file libTestFlight.a libTestFlight.a: Mach-O universal binary with 5 architectures libTestFlight.a (for architecture armv7): current ar archive random library libTestFlight.a (for architecture armv7s): current ar archive random library libTestFlight.a (for architecture i386): current ar archive random library libTestFlight.a (for architecture x86_64): current ar archive random library libTestFlight.a (for architecture cputype (16777228) cpusubtype (0)): current ar archive random library
Es scheint, dass sich noch niemand bei Apple darum gekümmert hat, den arm64-Cputyp hinzuzufügen
file
.Interessanterweise zeigen sie in den iOS 7 Tech Talk-Videos ("Architecting Modern Apps, Part 2", PDF Seite 35) die Ausgabe eines Arbeitsdateientools:
quelle
Für ein
.framework
lipo -info myFramework.framework/MyFramework
quelle