versiones run developer descargar app ios xcode architecture cordova phonegap-build

ios - run - descargar cordova phonegap



Crear un archivo para la versiĆ³n de XCode 4.6 con phonegap v 2.9 falla (2)

Encontré una solución

  1. En la configuración de compilación de tu objetivo, encuentra Other Linker Flags
  2. Cambiar $(TARGET_BUILD_DIR)/libCordova.a
  3. Hasta $(BUILT_PRODUCTS_DIR)/libCordova.a

Esto parece ser un fenómeno recurrente.

Vi una serie de preguntas anteriores, donde la solución era eliminar armv6, y luego el archivo funcionaría. Por supuesto, armv6 se ha ido.

Por lo tanto, ahora, compilando con ambos canales , Xcode 4.6.3 phonegap 2.9. Y sí, la aplicación funciona bien en iphones, ipads y en el simulador.

Recibo este mensaje al final del paso de crear archivo:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -L/Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/BuildProductsPath/Release-iphoneos -F/Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/BuildProductsPath/Release-iphoneos -filelist /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/IntermediateBuildFilesPath/peeq.build/Release-iphoneos/peeq.build/Objects-normal/armv7s/peeq.LinkFileList -dead_strip -weak_framework CoreFoundation -weak_framework UIKit -weak_framework AVFoundation -weak_framework CoreMedia -weak-lSystem -force_load /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/InstallationBuildProductsLocation/Applications/libCordova.a -ObjC -fobjc-link-runtime -miphoneos-version-min=5.0 -framework CoreLocation -framework ImageIO -framework OpenAL -framework AssetsLibrary /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/BuildProductsPath/Release-iphoneos/libCordova.a -framework Foundation -weak_framework UIKit -framework CoreGraphics -framework AddressBook -framework AddressBookUI -framework AudioToolbox -weak_framework AVFoundation -framework CFNetwork -framework MediaPlayer -framework QuartzCore -framework SystemConfiguration -framework MobileCoreServices -weak_framework CoreMedia -framework CoreLocation -o /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/IntermediateBuildFilesPath/peeq.build/Release-iphoneos/peeq.build/Objects-normal/armv7s/peeq ld: file not found: /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/InstallationBuildProductsLocation/Applications/libCordova.a clang: error: linker command failed with exit code 1 (use -v to see invocation)

Y revisó el sistema de archivos allí:

cd /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build ./Intermediates/ArchiveIntermediates/peeq/BuildProductsPath/Release-iphoneos/libCordova.a ./Intermediates/ArchiveIntermediates/peeq/IntermediateBuildFilesPath/CordovaLib.build/Release-iphoneos/CordovaLib.build/Objects-normal/armv7/libCordova.a ./Intermediates/ArchiveIntermediates/peeq/IntermediateBuildFilesPath/CordovaLib.build/Release-iphoneos/CordovaLib.build/Objects-normal/armv7s/libCordova.a ./Intermediates/ArchiveIntermediates/peeq/IntermediateBuildFilesPath/UninstalledProducts/libCordova.a

Y se ha construido, simplemente no se puso donde el enlazador quería encontrarlo.

Por lo tanto, sin duda alguna configuración de compilación le dice al vinculador que mire allí o le dice a la compilación que lo coloque donde el enlazador desea encontrarlo.

A menos que sea algo más.

Mi pregunta es cómo hacer que el archivo de la aplicación se construya correctamente para que pueda ir a la tienda.

Gracias, John

Una buena persona que trabaja en Apple me dijo dónde buscar, en ese punto, esto fue resuelto.

En lo profundo de las Configuraciones de compilación, hay un campo para establecer, llamado Otras banderas enlazadoras

Comienza mostrando ningún valor, pero si hace clic en él, aparece con Debug and Release.

En la cadena muy larga que es Release, se encuentra una -force_load libCordova.a
y elimina esa parte de la cadena.

De:

-weak_framework CoreFoundation -weak_framework UIKit -weak_framework AVFoundation -weak_framework CoreMedia -weak-lSystem -force_load ${TARGET_BUILD_DIR}/libCordova.a -ObjC

A:

-weak_framework CoreFoundation -weak_framework UIKit -weak_framework AVFoundation -weak_framework CoreMedia -weak-lSystem -ObjC

Probablemente sea un error de alguna manera que el teléfono establezca esto por defecto, también me pondré en contacto con ellos y veré si puede repararlo por defecto.

Su nota que me señaló:

Noté que su comando de enlace contiene ambos esto:

-force_load /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/InstallationBuildProductsLocation/Applications/libCordova.a

y esto:

/Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/BuildProductsPath/Release-iphoneos/libCordova.a

La ruta que se pasa a -force_load es la ruta falsa sobre la que el enlazador se queja. Creo que debes eliminar la bandera del vinculador "-force_load". ¿Tiene un indicador de este tipo establecido en la configuración "Otros indicadores de engarce"?


No funciona para mí cambiar a "$ (BUILT_PRODUCTS_DIR) /libCordova.a" en "Otros indicadores de enlazador". El problema aún existe (Xcode 4.6.3 phonegap 2.9.0)

Por lo tanto, pruebo la configuración a continuación y funciona para mí.

  1. En la configuración de compilación de tu objetivo, busca "Otros indicadores de vinculación"
  2. Eliminar "$ (TARGET_BUILD_DIR) /libCordova.a"
  3. Cambiar "-force_load" a "-all_load"

Esto hizo el truco para mí.

======== Actualización ============

Con el truco anterior, puedo lograr la aplicación y enviarla a la App Store sin problemas. Pero descubrí en el iTune Connect que muestra "binario inválido".