xcodebuild cómo firmar una aplicación con command-line?

Estoy intentando exportar un ipa usando la línea de command, no puedo hacer eso con xCode porque la aplicación está hecha para un cliente y no soy miembro de su equipo (realmente espero que apple cambie eso y haga que funcione como en xCode5 : /)

De todos modos, hice más investigación y probé este command:

xcodebuild -exportArchive -archivePath pcdev.xcarchive -exportPath ~/Desktop/playcadeAdHoc.ipa -exportFormat ipa -PROVISIONING_PROFILE= xxxxxxx-8a61-4264-8fe9-0513bd7935e6 -CODE_SIGN_IDENTITY=iPhone Developer:xxxxx 

exportó el .ipa pero no pude ejecutarlo en mi teléfono, astackdo en el estado de installation, revisé los loggings del command y creo que éste está causando el problema:

Verificando la aplicación original

  • / usr / bin / codesign –verify -vvvv /var/folders/ks/gxlbsszj7t58y5n6z8d1hpcm0000gn/T/7F8E1EF2-5238-4EC6-AE74-CDEC6C082A76-2731-00000AE5DF0617E4/games.app Progtwig / usr / bin / codesign devuelto 1: [ /var/folders/ks/gxlbsszj7t58y5n6z8d1hpcm0000gn/T/7F8E1EF2-5238-4EC6-AE74-CDEC6C082A76-2731-00000AE5DF0617E4/games.app: falta un recurso sellado o falta un file no válido: / private / var / folders / ks / gxlbsszj7t58y5n6z8d1hpcm0000gn / T / 7F8E1EF2-5238-4EC6-AE74-CDEC6C082A76-2731-00000AE5DF0617E4 / games.app / archived-expanded-entitlements.xcent]

El chequeo de códigos falla: /var/folders/ks/gxlbsszj7t58y5n6z8d1hpcm0000gn/T/7F8E1EF2-5238-4EC6-AE74-CDEC6C082A76-2731-00000AE5DF0617E4/games.app: falta un recurso sellado o falta un file no válido: / private / var / folders / ks / gxlbsszj7t58y5n6z8d1hpcm0000gn / T / 7F8E1EF2-5238-4EC6-AE74-CDEC6C082A76-2731-00000AE5DF0617E4 / games.app / archived-expanded-entitlements.xcent

Estoy seguro de que estoy usando el aprovisionamiento correcto y el nombre de firma de código, también en xcode he cambiado la configuration del file de esquema para depurar en lugar de la versión para poder trabajar con adhoc y la identidad de desarrollo.

Mi experiencia con las herramientas de Apple es muy limitada, así que intenta explicar la solución tanto como sea posible.

EDIT: también probé este método, no me dio ningún error, pero aún así la aplicación está astackda en "instalar …":

 xcrun -sdk iphoneos PackageApplication ~/Desktop/finalX.xcarchive/Products/Applications/games.app -o ~/Desktop/playcadetest.ipa --sign "iPhone Developer: Name Name (xxxxxxxx)" --embed ~/Desktop/p/adhoc.mobileprovision 

Gracias

Resulta que estaba usando los commands incorrectos, para ser específico, esta parte aquí es incorrecta:

 -PROVISIONING_PROFILE= xxxxxxx-8a61-4264-8fe9-0513bd7935e6 -CODE_SIGN_IDENTITY=iPhone Developer:xxxxx 

la correcta es esta:

 -exportProvisioningProfile "Provisioning profile full name " 

El nombre completo del perfil de aprovisionamiento es el mismo que aparece en xCode, no el UDID (no sé por qué mucha gente lo sugirió) tampoco es necesario especificar la identidad de firma. De todos modos, aquí está la línea de command completa que está funcionando para mí ahora:

 xcodebuild -exportArchive -archivePath myArchive.xcarchive -exportPath myApp.ipa -exportFormat ipa -exportProvisioningProfile "Provisioning profile full name" 

NOTA:

  • Estoy ejecutando este command después de copyr el file en una carpeta (escritorio) luego cambiar la location del terminal a esa carpeta (cd dekstop) y luego ejecutar el command
  • Además, no olvide cambiar el perfil de aprovisionamiento en function de su configuration de compilation de files (versión o debugging), puede cambiarlo desde la configuration del esquema para hacer una debugging o una compilation de versión.