Ich habe gestern eine App zur Überprüfung gesendet, ohne Probleme. Dann wurde mir klar, dass ich eine kleine Korrektur zu erledigen hatte (Ändern der maximalen Zoomstufe einer Karte von 19 auf 18, sonst nichts), also entfernte ich die Binärdatei aus iTunes Connect und versuchte, sie erneut einzureichen.
Jetzt habe ich diese Warnung:
Ich verstehe nicht warum, da meine Architekturen sind:
- Architekturen: armv7
- gültige Architekturen: armv6, armv7, armv7s, arm64
Die App läuft gut im Simulator. Wenn ich versuche, die in der Warnung empfohlenen Standardarchitekturen (armv7, arm64) zu verwenden, wird die App nicht erstellt und ich erhalte:
- Undefinierte Symbole für die Architektur x86_64
- ld: Symbol (e) für Architektur x86_64 nicht gefunden
Ich verwende die lib route-me und stelle die gleichen Architektureinstellungen ein.
Antworten:
Verwenden Sie "
Standard architectures
" wie folgt:so was:
quelle
armv7 and arm64
in Architekten. Beim Überprüfen der App auf Übermittlung tritt jedoch eine fehlende 64-Bit-Supportwarnung auf.Stellen Sie nach Bestätigung der korrekten Architekturen sicher, dass Ihr Gerät NICHT mit Ihrem Computer verbunden ist, wenn Sie den endgültigen Build archivieren, der an den App Store gesendet werden soll.
Der Grund für diese Warnung ist, dass das von Ihnen angeschlossene GERÄT wahrscheinlich nicht mit arm64 kompatibel ist.
quelle
Build Active Architecture Only
auf ändernNo
. Dadurch wird xcode gezwungen, die 64-Bit-Binärdatei zu erstellen, unabhängig davon, welches Gerät angeschlossen ist.Build Active Architecture
istNo
. ArchivschemaWie Tony schrieb, ist es wichtig, diese Einstellungen in beiden Zeilen zu haben. Da mein (und natürlich Ihr) Projekt noch erstellt wurde, bevor arm64 zum Standard hinzugefügt wurde, wird es in "Gültige Architekturen" nicht berücksichtigt, selbst wenn es als Standard angezeigt wird .
Was ich getan habe:
Nach dem Reinigen / Erstellen erhalte ich sogar einige Warnungen vor einer nicht ordnungsgemäßen Konvertierung von float in CGFloat usw., sodass die Einstellungen offensichtlich zutreffen.
Die Validierungswarnung ist ebenfalls verschwunden!
quelle
Trennen Sie Ihr physisches Gerät vom Mac. Wählen Sie in XCode auf Geräteliste iOS-Gerät und erstellen Sie das Archiv erneut. Es hat bei mir funktioniert.
quelle
Heute löse ich dieses Problem mit den folgenden Schritten:
Gebäudeeinstellungen:
Architekturen: Standardarchitekturen (arm7, arm64) - $ (ARCH_STANDARD)
Gültige Architekturen: armv7 armv7s arm64
quelle
Erstellen Sie einfach ein neues Projekt mit der neuesten xCode-Version und suchen Sie die Build-Einstellungen. Das neue Projekt, das mit der neuesten Version erstellt wurde, unterstützt standardmäßig 64.
quelle
Okay, das war verrückt. Ich habe jede einzelne Antwort ausprobiert . Aber es hat nur funktioniert, als ich
arm64
vorarmv7
undarmv7s
in Valid Architectures platziert habe.PS:
xcode version : 7.2
quelle
Ich habe das Problem durch Ändern gelöst,
Architekturen: arm7, arm64
Gültige Architektur: arm7, arm64
Nur aktive Architektur erstellen: Ja
quelle
Ich habe Erfolg per Konfiguration als Bild eingereicht:
(Archiviert mit echtem Gerät)
quelle
Ich habe jede Warnung losgeworden. Ging alles immer und immer wieder durch. Habe hier oben die Antwort mit einem Wort gefunden.
"Nur aktive Architektur erstellen - NEIN (speziell ... wenn Ihr angeschlossenes Gerät nicht arm64-kompatibel ist)"
Mein iPad ist nicht 64 Bit. Geben Sie NEIN für Build Active Architecture ein und meine Einreichung hat funktioniert!
quelle
Ändern Sie Ihr iOS-Entwicklungsziel in mindestens 5.1.1 oder löschen Sie alternativ die Standardeinstellungen für Architekturen und wenden Sie sie erneut an. Möglicherweise wurde eine Warnung angezeigt, dass arm64 nicht mit Ihrem Build-Ziel kompatibel ist. Überprüfen Sie auf der Übersichtsseite sowohl die Build- als auch die Zieleinstellungen für das Bereitstellungsziel. In meinem Fall war das Ziel 6.0, aber das Projekt war 5.0.
Überprüfen Sie außerdem "Gültige Architekturen" sowohl in Ihrem Ziel als auch in Ihrem Projekt. Ich hatte die richtigen Einstellungen für das Projekt, aber nicht für das Ziel. Danach hat es bei mir funktioniert.
Wechseln Sie auf der Übersichtsseite in der oberen linken Ecke des Felds zwischen Projekt / Ziel.
quelle
Aktivieren Sie die Option Aktive Architektur erstellen. Stellen Sie es auf NEIN. Für mich geht das.
quelle