In der ausführbaren Anwendungsdatei fehlt eine erforderliche Architektur armv6


81

Ich verwende xCode 4.2 und versuche, meine Anwendung bereitzustellen. Ich habe die Validierung mit der folgenden Fehlermeldung nicht bestanden:

application executable is missing a required architecture armv6

Der Wert für meine Architekturen ist auf Standard (armv7) festgelegt. Dies ist die EINZIGE Option in der Dropdown-Liste. Basis-SDK: iOS 5.0 (Dies ist die einzige Option) Bereitstellungs-SDK: 3.2 Nur aktive Architektur erstellen: NEIN Gültige Architekturen: armv6 armv7 armv7f armv7k

Kennt jemand bitte die Lösung für dieses Problem?



Tatsächlich hat die doppelte Frage eine andere Lösung, nämlich die Rückkehr zur alten Version von xCode. Ich habe mich gefragt, ob es eine Möglichkeit gibt, dieses Problem für die aktuelle Version zu lösen.
Azamsharp

Es stellt sich heraus, dass die einzige Lösung darin besteht, xCode 4.2 zu deinstallieren und xCode 4.1
azamsharp

1
Da iOS 5.0 und Xcode 4.2 Beta-Software sind, stehen sie immer noch unter NDA. Am besten diskutieren Sie sie in den Entwicklerforen von Apple: devforums.apple.com . Wenn Sie einen Fehler mit den Tools feststellen, müssen Sie einen Bericht unter bugreport.apple.com einreichen .
Brad Larson

Antworten:


83

In Xcode 4.2 GM ist dies immer noch ein Problem, aber Sie können es wie folgt beheben.

  1. Wechseln Sie im xcode-Projekt zur Ansicht Dateien / Ordner

  2. Wählen Sie Ihr Projekt aus (das blaue Symbol)

  3. Wählen Sie Ihre Anwendung unter Ziele in der Mitte des Bildschirms aus.

  4. Gehen Sie, um Einstellungen zu erstellen

  5. Suchen Sie nach Architekturen> Distribution

  6. Erweitern Sie diesen Abschnitt, damit Sie sowohl Debug als auch Release sehen können

  7. Ändern Sie "Standard (armv7) - $ (ARCH_STANDARD_32_BIT)" in "Andere ..."

  8. Ersetzen Sie "Standard (armv7) - $ (ARCH_STANDARD_32_BIT)" durch "armv6" und fügen Sie dann einen neuen Eintrag "armv7" hinzu.

Denken Sie daran, dass Sie dies möglicherweise für alle enthaltenen Projekte tun müssen, auch bekannt als Frameworks wie TAPKU

Geben Sie hier die Bildbeschreibung ein


Ich verstehe den Schritt 8 nicht wirklich ... Könnten Sie bitte näher darauf eingehen?
Samuel

4
Wenn Sie in der Dropdown-Liste ANDERE auswählen, erhalten Sie ein Feld mit Gittern. Sie können armv6 in einer Zeile und armv7 in der nächsten Zeile hinzufügen. Der von Ihnen hinzugefügte Screenshot ist falsch.
J3RM

Das hat mich gerettet. Vielen Dank !
Fyasar

1
Stellen Sie sicher, dass "Nur aktive Architektur erstellen" auf "Nein" gesetzt ist. Andernfalls wird, wenn Sie mit dem Gerät verbunden sind, nur für dieses Gerät erstellt ...
user739711

46

Legen Sie für Xcode 4.5 das Bereitstellungsziel auf mindestens iOS 4.3 fest, damit das Problem behoben wird. armv6 und frühere Versionen von iOS sind fast ausgestorben.


2
Vielen Dank dafür, es hat mich schon 2 Stunden Kopfschmerzen gekostet!
RickJansen

2
Ja, das Setzen des Ziels auf iOS 4.3 löst das Problem auch in der neuesten Version 4.5.1 ... Danke
Jim Jose,

40

Einfache Möglichkeit:

1) Klicken Sie mit der linken Maustaste auf das Projektsymbol ( blaues Symbol unter der Schaltfläche "Ausführen").

2) Klicken Sie neben dem Projektsymbol (rechts davon) mit der linken Maustaste auf den Projektnamen unter "PROJEKT" (weißer Hintergrund).

3) Wählen Sie die Registerkarte "Build Settings" und suchen Sie nach dem Untermenü "Architectures" (erstes). Klicken Sie mit der linken Maustaste auf "Standard (armv7) $ (ARCH_STANDARD_32_BIT)" und wählen Sie "Andere ...".

4) Klicken Sie auf das Symbol "-" , um den ursprünglichen Wert zu entfernen ( "$ (ARCH_STANDARD_32_BIT)" ). Klicken Sie auf das Symbol "+" und schreiben Sie "armv6" (ohne doppelte Anführungszeichen). Klicken Sie erneut auf das Symbol "+" und fügen Sie "armv7" hinzu (auch ohne doppelte Anführungszeichen). Klicken Sie auf "Fertig" .

5) Stellen Sie sicher, dass "Nur aktive Architektur erstellen " auf "Nein" gesetzt ist (sollte es sein)

6) Klicken Sie neben dem Projektsymbol (rechts davon) mit der linken Maustaste auf den Projektnamen unter "ZIELE" und wiederholen Sie die Schritte 3, 4 und 5.

7) Drücken Sie cmd + I auf Ihrer Tastatur (oder Produkt -> Profil im Xcode-Menü) und prüfen Sie, ob alles in Ordnung ist.


3
Ich finde diese Anweisungen klarer, aber vergessen Sie nicht diesen wichtigen Hinweis von @ J3RM: "Denken Sie daran, dass Sie dies möglicherweise für alle enthaltenen Projekte, auch bekannt als Frameworks wie TAPKU, tun müssen"
benvolioT

Meine Einstellungen waren so, dass "Nur aktive Architektur erstellen" auf "true" gesetzt wurde - danke für die Lösung!
Chris Brandt

In Schritt 4, den Sie erwähnt haben, klicken Sie auf Fertig. Aber ich sehe keinen DOne-Knopf. : / Vermisse ich hier etwas?
Rohan-Patel

5

Meine Umgebung war Xcode 4.5.1. Das Ändern von zwei Dingen löste dieses Problem für mich.

  1. Festlegen des Bereitstellungsziels auf mindestens iOS 4.3.
  2. Behalten Sie unter den Build-Einstellungen nur die armv7-Architektur in der Architekturliste bei und entfernen Sie alle anderen (einschließlich armv6) explizit.

Ja, ich auch. Meine Nur-iPad-App weigerte sich zu erstellen, bis ich armv7s von der Liste der Architekturen entfernte.
Mike Gledhill

4

Ich stolpere über diese Frage, wenn ich nach einer Lösung für die Warnung suche:

warning: iPad: application executable is missing a required architecture.
At least one of the following architecture(s) must be present: armv7 (-19033)
Unable to validate your application. - (null)

Andere Antworten haben mein Problem nicht gelöst, dann wurde mir klar, dass ich einen Wert von geändert habe CFBundleExecutable. Als ich zum alten Wert zurückkehrte, lief alles wieder reibungslos.

Ich bin nicht sicher, was eine direkte Ursache für diese Warnung ist, aber zumindest kann ich Ad-hoc-Builds wieder verteilen.


Wirklich komisch, bekam die gleiche Warnung und zusammen mit einigen nicht verwandten. Der Wert von CFBundleExecutableback wurde auf das geändert , was er war, und alles lief gut. Danken!
Adriano Lucas

3

Alle Antworten haben in meinem Fall mit Xcode 4.2.1 nicht geholfen.

Was ich getan habe, war Architecturesvon armv7zu wechseln armv6 armv7und es hat funktioniert. So was:

Geben Sie hier die Bildbeschreibung ein


3

Das Hinzufügen von armv6 war für mich nur teilweise das Problem, das gleiche Problem mit Xcode 4.5 zu beheben. Ich musste auch mein Bereitstellungsziel von iOS 4.1 auf iOS 5.0 erhöhen, damit es funktioniert. Viele Stunden der Frustration für solch eine einfache Lösung. Ich hoffe es hilft.


5
Es reicht aus, das Ziel auf 4,3 zu erhöhen.
SK9

-1

Für mich hat es geholfen, wenn ich nur armv6unter Architekturen gesetzt habe

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.