73 votes

Comment vérifier si une bibliothèque statique est construit pour la version 64 bits?

Je viens de construire une bibliothèque statique pour iOS avec le paramètre de construction pour les Architectures ensemble d' $(ARCHS_STANDARD_INCLUDING_64_BIT).

Je veux faire en sorte que l' .une bibliothèque est correctement compris que l'architecture, mais quand je le lance en lipo -info sur, je vois:

Architectures en la matière grasse du fichier: bibliothèque.un sont: armv7 armv7s (cputype (16777228) cpusubtype (0))

Est-ce à dire que arm64 n'est pas inclus? Si la lipo commande ne pouvez pas me dire, est-il une autre façon de le dire?

Je suis sous Xcode 5 avec les derniers Outils de Ligne de Commande installé.

118voto

Stephen Canon Points 58003

Oui, un arm64 tranche est là. Pour la voir, vous devez utiliser lipo de l'iOS de la chaîne, et non pas à partir du système hôte (qui ne savent pas à propos de arm64):

xcrun -sdk iphoneos lipo -info $(FILENAME)

65voto

Nikolai Ruhe Points 45433

les bonnes vieilles file peut faire l'affaire, trop:

$ 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

Il semble que personne chez Apple pris soin d'ajouter la arm64 cputype d' file, encore.

Il est intéressant de noter, dans l'iOS 7 Tech Talk Vidéos ("l'Architecture des Applications Modernes, Partie 2", page PDF 35) ils montrent un fichier de travail en sortie de l'outil:

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X