iOS PhoneGap Build Failure

Soy nuevo en PhoneGap para iOS y Xcode. Estoy teniendo un problema con mi aplicación que funcionó en teléfonos con Android muy bien. Soy capaz de crear y ejecutar la aplicación en el simulador de iOS, pero cuando la archive para probar en dispositivos, aparece el error a continuación. He buscado por todas partes y no puedo encontrar algo que funcione.

Error:

 ld: warning: ignoring file /Users/danlehman/Library/Developer/Xcode/DerivedData/HelloWorld-ebkivbdaivqchkgycifnnpgixspn/Build/Intermediates/ArchiveIntermediates/HelloWorld/BuildProductsPath/Release-iphoneos/libCordova.a, file was built for archive which is not the architecture being linked (armv7s): /Users/danlehman/Library/Developer/Xcode/DerivedData/HelloWorld-ebkivbdaivqchkgycifnnpgixspn/Build/Intermediates/ArchiveIntermediates/HelloWorld/BuildProductsPath/Release-iphoneos/libCordova.a Undefined symbols for architecture armv7s: "_OBJC_METACLASS_$_CDVViewController", referenced from: _OBJC_METACLASS_$_MainViewController in MainViewController.o "_OBJC_CLASS_$_CDVViewController", referenced from: _OBJC_CLASS_$_MainViewController in MainViewController.o "_OBJC_CLASS_$_CDVURLProtocol", referenced from: objc-class-ref in AppDelegate.o ld: symbol(s) not found for architecture armv7s clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Estaba recibiendo un error similar para Cordova 2.7 , Xcode 5 y iOS7 en el iPhone 4S. Cambié una configuration y la compuse correctamente.

Seleccione su aplicación. Vaya a Configuraciones de compilation y luego a las architectures válidas . Cambiar a:

 armv7 

Mi configuration anterior fue:

 arm64 armv7 armv7s 

Limpiar y build. Parece estar relacionado con armv7s . Un efecto secundario de ponerlo en marcha es que la barra de estado es transparente y está flotando sobre la aplicación. Sin embargo, ese es otro tema relacionado con iOS7.

Luché con esto y leí innumerables "soluciones" que parecían funcionar para algunos, pero no para mí. Con eso en mente, esto podría no funcionar para usted. 🙂

1) Clone the cordova-ios repo

git clone git@github.com: apache / cordova-ios.git

2) Mira las twigs disponibles

git twig -a

Probablemente veas algo como:

  • remotos maestros / origen / 0.9.5.1 controles remotos / origen / 0.9.6.x controles remotos / origen / 1.6.1 controles remotos / origen / 1091 controles remotos / origen / 2.6.x controles remotos / origen / 2.7.x controles remotos / origen / 2.8.x remotos / origen / 2.9.x remotos / origen / 3.0.0 remotos / origen / 464 remotos / origen / CB-3530 remotos / origen / HEAD -> origen / maestro remotos / origen / mejor_resource_copy_step remotos / origen / custom_schemes remotos / origen / remotos del dispositivo / origen / remotos maestro / origen / multipart_plugin_result remotos / origen / siguiente remotos / origen / phonegap-js

3) Construí mi aplicación con Cordova 2.9, así que pago la twig 2.9.x – ajusta para tu proyecto

git checkout -b 2.9.x origen / 2.9.x

4) Verifica que estás en la twig deseada

git branch

Deberías ver algo como:

  • 2.9.x maestro

5) Entra en bin /

cd bin /

6) Ahora recrea la aplicación cordova:

./create ~ / some / project / dir / project com.project project

7) Copie su carpeta www de la construcción defectuosa al nuevo proyecto.

8) Obtenga un post de construcción exitoso de Xcode.

9) Da a Xcode el dedo.

¡Espero que esto ayude!

Este es un error en Phonegap. Debe ir a crear configuraciones en el proyecto, search "Otros indicadores de linkeres", luego cambiar:

Cambie "$ (TARGET_BUILD_DIR) /libCordova.a"

a

"$ (BUILT_PRODUCTS_DIR) /libCordova.a"