Ich habe eine .ipa
, die arm64
und armv
7 Slices enthält. Wenn ich es auf einem iDevice ausführe, der sowohl arm64
als auch armv7
unterstützt, welcher Slice wird von der Laufzeit ausgewählt?
Kann ich irgendwo sehen, indem ich NSLog
oder irgendeinen Weg, um zu verstehen, dass runtime Schnitt arm64
ausgewählt hat?
Wenn Ihre App über den App Store mit aktiviertem Byte-Code heruntergeladen wird, lässt iTunes Connect ein iOS-Gerät die entsprechende Binärdatei entsprechend Ihrer Gerätearchitektur herunterladen.
Wenn Sie die Xcode-Prüfung für diese Option durchführen, gehen Sie wie folgt vor: Es wird nur nach Ihrer iOS-Gerätearchitektur kompiliert.
Wenn Sie diese Option als NO
haben, könnten Sie testen, welche binäre Architektur ausgeführt wird:
Laut Apple :
__LP64__
beim Kompilieren für die 64-Bit-Laufzeitumgebung" und Wenn Sie daran interessiert waren, die Architektur zur Kompilierzeit zu bestimmen, kommt im Wesentlichen der folgende Code (vom googlen):
%Vor%Da Sie jedoch nach einem Laufzeittest fragen, ist die Verwendung der Methode zur Bestimmung der Zeigergröße (wie auf der oben verlinkten Apple-Hilfeseite bestätigt) eine Möglichkeit, dies zu tun. Der von Manish oder Hashmat vorgeschlagene Code zeigt, wie.
Ich habe diese Frage schon früher gesehen, was meiner Meinung nach relevant ist, wenn Sie sich die Kommentare zu der Frage ansehen:
Xcode 6.3 erstellt alle Swift-Dateien zweimal
Im Falle der verknüpften Frage ist die Antwort, obwohl sie veraltet ist, beides. Jede Datei wird zweimal erstellt und kann innerhalb der Build-Einstellungen manuell geändert werden (Build Active Architecture Only).
Tags und Links iphone ios architecture armv7 arm64