Ayer (10/3/14), cuando se lanzó iOS 7.1, también actualicé a Xcode 5.1 y descubrí que mi proyecto PhoneGap / Cordova ya no se compilaría en mi iPhone 5s. También actualicé Cordova a la versión más reciente: v 3.4.0-0.1.3.
He leído muchas soluciones diferentes sobre SO que se relacionan tanto con el cambio de arquitecturas activas y la construcción de solo arquitecturas activas, y ninguna de ellas funciona. Así que esto es lo que he intentado y los errores que obtengo. Inicialmente recibí el error:
missing required architecture arm64 in file <long file path omitted> libCordova.a
Undefined symbols for architecture arm64
Así que intenté lo siguiente. Seleccioné el subproyecto CordovaLib en mi proyecto, y tanto en el proyecto como en el destino, fui a Build Settings en Architectures y me aseguré de que arm64
no estuviera incluido en ninguna de las arquitecturas Debug o Release. En este momento, Build Active Architecture Only está configurado en "Sí". Eso resultó en el siguiente error:
file was built for archive which is not the architecture being linked (armv7):
<long file path omitted> libCordova.a
Undefined symbols for architecture armv7
Al configurar Build Active Architecture Only en "No", el error vuelve a ser:
missing required architecture arm64 in file <long file path omitted> libCordova.a
Undefined symbols for architecture arm64
No estoy seguro de qué más probar. La configuración de la arquitectura del proyecto solo incluye la clave "Base SDK" que está configurada para iOS 7.1. El destino del proyecto no tiene configuraciones de arquitecturas. De todos modos, estoy bastante seguro de que el problema radica en el subproyecto incrustado CordovaLib. ¿Qué puedo hacer para que esto se compile correctamente en mi dispositivo?
Actualización: el mismo problema en Jira de Apache: https://issues.apache.org/jira/browse/CB-6223