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?

Azamsharp
quelle
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

J3RM
quelle
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.

SK9
quelle
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.

bdurao
quelle
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.
Rajaraman
quelle
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.

Piotr Byzia
quelle
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

Samwize
quelle
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.

user1712742
quelle
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

Dario Caric
quelle