Wczoraj (10.03.14), kiedy wydano iOS 7.1, zaktualizowałem również do Xcode 5.1 i stwierdziłem, że mój projekt PhoneGap / Cordova nie będzie już kompilować się do mojego iPhone'a 5s. Zaktualizowałem również Cordovę do najnowszej wersji: v 3.4.0-0.1.3.
Przeczytałem wiele różnych rozwiązań na SO, które dotyczą tak zmieniających się aktywnych architektur i budujących tylko aktywne architektury, i żadne z nich nie działa. Oto co próbowałem i błędy, które otrzymuję. Początkowo otrzymałem błąd:
missing required architecture arm64 in file <long file path omitted> libCordova.a
Undefined symbols for architecture arm64
Więc spróbowałem następujących rzeczy. W moim projekcie wybrałem podprojekt CordovaLib i zarówno w projekcie, jak i celu, przeszedłem do Ustawień kompilacji w obszarze Architektury i upewniłem się, że arm64
nie został uwzględniony w żadnej z architektur debugowania lub wydania. W tej chwili opcja Build Active Architecture Only jest ustawiona na „Yes”. Spowodowało to następujący błąd:
file was built for archive which is not the architecture being linked (armv7):
<long file path omitted> libCordova.a
Undefined symbols for architecture armv7
Po ustawieniu opcji Build Active Architecture Only na „Nie” błąd ponownie wygląda następująco:
missing required architecture arm64 in file <long file path omitted> libCordova.a
Undefined symbols for architecture arm64
Nie wiem, czego jeszcze spróbować. Ustawienia architektury projektu obejmują tylko klucz „Base SDK”, który jest ustawiony na iOS 7.1. Cel projektu nie ma ustawień architektury. W każdym razie jestem prawie pewien, że problem leży w osadzonym podprojekcie CordovaLib. Co mogę zrobić, aby pomyślnie skompilować to na moim urządzeniu?
Aktualizacja: ten sam problem w Jira Apache: https://issues.apache.org/jira/browse/CB-6223