Creación de aplicaciones iOS con xcodebuild sin códigos

Estamos construyendo una aplicación para otra compañía. Sostienen la key de firma y prefieren no compartirla con nosotros.

Debería ser posible separar compilation y signo, pero ¿cómo lo especifique en la línea de command de xcodebuild?

EDITAR para los que vienen aquí desde la búsqueda. La respuesta aceptada es correcta: hace lo que pide la pregunta. Sin embargo , el outlook general es separar la compilation y el codificado (lo que permite a un desarrollador que no tiene la key de distribución para comstackr la aplicación) . Las versiones más recientes de Xcode proporcionan las herramientas para eso. Esto no es estrictamente una respuesta a esta pregunta, por lo que lo publiqué como un resumen: https://gist.github.com/noamtm/5c3aaa0b615477162ccd .

Para omitir la firma del código, puede realizar una compilation manual desde la console así:

xcodebuild clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO 

Use además los parameters -configuration , -sdk y -sdk para definir su configuration de compilation.

Consulte esta respuesta de superposition para get una descripción detallada sobre cómo deshabilitar la firma de códigos dentro de Xcode.

Lamentablemente, puede ser difícil crear tu aplicación en modo de versión sin firma de código. Obtendrá errores del sistema de compilation como este:

 CodeSign error: code signing is requinetworking for product type 'Application' in SDK 'iOS 5.1' 

En este caso, debe configurar su objective para usar la identidad de firma del comodín del desarrollador / equipo (*) en el modo de Liberación. La aplicación se firmará cuando la construyas, y puedes enviarla a tu cliente para que pueda renunciar a ella. Esto es lo que hacen la mayoría de nuestros desarrolladores subcontratados.

A continuación, puede eliminar la información de firma de código eliminando los diversos files de la aplicación como _CodeSignature y utilizando la herramienta de _CodeSignature para eliminar la información del binary de la aplicación. Pero no estoy seguro de lo fácil que es eso. Sin embargo, en realidad no es esencial. No hay información confidencial en el perfil de suministro o en la información de firma.

Para evitar completamente la firma de código con Xcode 7, utilicé todas las siguientes opciones:

 CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED="NO" CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED="NO" 

La opción final, CODE_SIGNING_ALLOWED="NO" parecía hacer el truco.

En Project Navigator, select su proyecto y abra la sección Configuración de construcción de su porject (y no un objective en particular). Bajo Código de firma, busque Identidad de firma de código y, para ambos modos, establezca Cualquier SKD de iOS para No firmar código.