Gestern (10.03.14), als iOS 7.1 veröffentlicht wurde, habe ich auch ein Upgrade auf Xcode 5.1 durchgeführt und festgestellt, dass mein PhoneGap / Cordova-Projekt nicht mehr mit meinem iPhone 5s kompiliert werden kann. Ich habe Cordova auch auf die neueste Version aktualisiert: v 3.4.0-0.1.3.
Ich habe viele verschiedene Lösungen zu SO gelesen, die sich darauf beziehen, aktive Architekturen zu ändern und nur aktive Architekturen zu erstellen, und keine davon funktioniert. Also hier ist, was ich versucht habe und die Fehler, die ich bekomme. Anfangs habe ich den Fehler bekommen:
missing required architecture arm64 in file <long file path omitted> libCordova.a
Undefined symbols for architecture arm64
Also habe ich folgendes versucht. Ich habe das CordovaLib-Unterprojekt in meinem Projekt ausgewählt und sowohl im Projekt als auch im Ziel unter Build Architectures zu Build Settings gewechselt und sichergestellt, dass arm64
es in keiner der Debug- oder Release-Architekturen enthalten ist. Zu diesem Zeitpunkt ist Build Active Architecture Only auf "Ja" gesetzt. Dies führte zu folgendem Fehler:
file was built for archive which is not the architecture being linked (armv7):
<long file path omitted> libCordova.a
Undefined symbols for architecture armv7
Wenn Sie Build Active Architecture Only auf "No" setzen, wird der Fehler erneut wie folgt:
missing required architecture arm64 in file <long file path omitted> libCordova.a
Undefined symbols for architecture arm64
Ich bin mir nicht sicher, was ich sonst noch versuchen soll. Die Architektureinstellungen des Projekts enthalten nur den Schlüssel "Base SDK", der auf iOS 7.1 eingestellt ist. Das Projektziel verfügt nicht über Architektureinstellungen. Ich bin mir ziemlich sicher, dass das Problem beim eingebetteten CordovaLib-Teilprojekt liegt. Was kann ich tun, damit dieses Ding erfolgreich auf meinem Gerät kompiliert wird?
Update: Gleiches Problem bei Apaches Jira: https://issues.apache.org/jira/browse/CB-6223