2013-09-22 11 views
28

Ich habe meine erste XCode5 ONLY App entwickelt, die den Apps von 4.6 sehr ähnlich ist. Es läuft einwandfrei im Simulator und auf meinem iPhone 4, 4S und 5, sowie meinen 2 iPads. Wenn ich jedoch versuche, es für die Einreichung im App Store zu validieren, bekomme ich einen ganzen Stapel von Fehlern in Bezug auf arm64 erfordert 7.0.0 oder höher. Ich habe das Deployment-Ziel auf 6.1 gesetzt und dies passiert nicht, wenn ich meine früheren Apps in Xcode 5 starte, die in 4.6 gestartet wurden. Wenn ich das Bereitstellungsziel auf 7.0 ändere, ist alles in Ordnung. Was passiert hier? Was muss ich ändern, damit es auf 6.1 validiert wird? Danke.Modul Darwin konnte nicht erstellt werden - arm64 Ausgaben

EDIT: OK, ich änderte die Architekturen in Build-Einstellungen auf Standard (armv7, armv7s) entfernen arm64, und alles war in Ordnung. War das das Richtige? Vermutlich läuft es noch auf dem iPhone 5S, aber nicht in 64-Bit. Richtig?

Antwort

13

Sie müssen iOS 7.0 als Implementierungsziel für arm64 verwenden. Wenn Sie iOS 6.1 unterstützen möchten, müssen Sie höchstens mit armv7s arbeiten. Da arm64-Prozessoren im 32-Bit-Modus ausgeführt werden können, sollte dies kein Problem darstellen.

34

Sie können noch keine 64-Bit-Version einreichen und trotzdem iOS 6 unterstützen. Sie werden jedoch nächsten Monat in der Lage sein.

Siehe https://developer.apple.com/news/index.php?id=9162013a

Edit: Ja, wenn Sie ARMv7 und armv7s haben, werden Sie noch auf dem iPhone 5s laufen, obwohl in 32-Bit-Modus. Ich würde empfehlen, jetzt mit armv7/armv7s einzureichen und nächsten Monat arm64 hinzuzufügen.


-Update 1. November 2013:

Nach der 2013.10.22 Version des 64-bit Transition Guide for Cocoa Touch, können Sie nun Xcode verwenden 5.0.1 eine binäre zu erzeugen, die 64-Bit enthält und 32- Bit-Architekturen und läuft auf älteren iOS-Versionen.

  • Sie müssen Xcode verwenden 5.0.1
  • Die 64-Bit-Version kann nur auf 64-Bit-Geräte laufen iOS läuft 7.0.3+
  • Die 32-Bit-Version kann nur auf Geräten laufen laufen iOS 5.1.1+
  • 64-Bit-Geräten mit iOS 7.0.0-7.0.2 werden verwenden Sie die 32-Bit-Slice
+3

Sehr hilfreich, danke. – IainGM

5

ich dieses Problem hatte sich erheben, wenn ich eine BOOL Variable hinzugefügt. #import UIKit/UIKit.h auch als Fehler angezeigt. Hier ist ein Screenshot der Änderungen, die Sie am Standardprojekt vornehmen müssen.

Vorher: enter image description here Nach: enter image description here

0

dieses Problem gelöst, indem, wo mein Projekt erstellt, wenn mein Projekt zu schaffen, ich auf dem Desktop gespeichert und es funktionierte, als ich ein Repository erstellt, zeigte er dieses Problem .

Ich hoffe, diese Antwort hilft jemandem.

0

Ich hatte so ziemlich den gleichen Stapel von Fehlern. Mit zwei Ausnahmen mehr oder weniger gleich.Wie Benutzer tjv hatte ich einen Fehler auf #import auch. Und ich hatte nicht den Linker-Fehler im Zusammenhang mit arm64. Der fehlende Arm64 ist wahrscheinlich der Hauptunterschied im Symptom.

Mein Problem war, dass ich mehr Precompilers Makros in meiner Projektdatei im

von Apple LLVM 5.1 Set - vorverarbeiten

Abschnitt. Anstatt MACRONAME=1 zu setzen, tippte ich MACRONAME= 1 als Sie bereits vermuten könnten. Der zusätzliche Raum machte den Unterschied.

6

OK, ich löse das Problem, indem ich "Benutzerpfade immer durchsuchen" in "Suchpfade" auf "Nein" setze und alles funktioniert wieder gut. Und ich setze den Parameter auf "Ja", das Programm ist immer noch in Ordnung. Ich habe keine Ahnung, warum das passiert ist.

Dieses Problem ist aufgetreten, wenn ich die Ordnerposition ändere, die das Programm haben.

+0

Weiß nicht, wie und warum, aber es hat mir geholfen! Danke vielmals! –

0

Sie sollen Module gesetzt aktivieren (C und Objective-C) als NO in Build-Einstellungen: Apple LLVM 5.0 - language-Modules.

(Answer from official forum)

enter image description here

Verwandte Themen