estoy usando este script para la creación de aplicaciones de línea de comandos:solicitud de construcción de Xcode desde la línea de comandos
#!/bin/bash
TARGET="signtest"
CONFIGURATION="Debug"
SDK="iphoneos"
IDENTITY="iPhone Developer: Marcin Zyga (CLJR93MXJ6)"
KEYCHAIN="/Users/admin/Library/Keychains/login.keychain"
PASSWORD="admin"
security unlock-keychain -p ${PASSWORD} ${KEYCHAIN}
xcodebuild -target "${TARGET}" -configuration ${CONFIGURATION} -sdk iphoneos CODE_SIGN_IDENTITY="${IDENTITY}" PROVISIONING_PROFILE="94D99766-0268-4E0E-B8D1-053063BB2DA1" OTHER_CODE_SIGN_FLAGS="--keychain ${KEYCHAIN}"
Estoy intentando compilar la aplicación y firmarlo con perfil de aprovisionamiento. Me estoy poniendo:
Build settings from command line:
CODE_SIGN_IDENTITY = iPhone Developer: Marcin Zyga (CLJR93MXJ6)
OTHER_CODE_SIGN_FLAGS = --keychain /Users/admin/Library/Keychains/login.keychain
PROVISIONING_PROFILE = 94D99766-0268-4E0E-B8D1-053063BB2DA1
SDKROOT = iphoneos5.0
=== BUILD NATIVE TARGET signtest OF PROJECT signtest WITH CONFIGURATION Debug ===
Check dependencies
[BEROR]Code Sign error: The identity 'iPhone Developer: Marcin Zyga (CLJR93MXJ6)' doesn't match any valid certificate/private key pair in the default keychain
** BUILD FAILED **
Esto es cuando estoy invocando como sudo su -
probablemente me falta una configuración válida en mi llavero.
Cuando estoy invocar este script de construcción como usuario administrador Tengo esto:
Build settings from command line:
CODE_SIGN_IDENTITY = iPhone Developer: Marcin Zyga (CLJR93MXJ6)
OTHER_CODE_SIGN_FLAGS = --keychain /Users/admin/Library/Keychains/login.keychain
PROVISIONING_PROFILE = 94D99766-0268-4E0E-B8D1-053063BB2DA1
SDKROOT = iphoneos5.0
=== BUILD NATIVE TARGET signtest OF PROJECT signtest WITH CONFIGURATION Debug ===
Check dependencies
[BEROR]Code Sign error: Provisioning profile '94D99766-0268-4E0E-B8D1-053063BB2DA1' can't be found
** BUILD FAILED **
Mi perfil de suministro definitivamente existe.
he hablado con un número de personas y ha determinado que cuando se inicio a una acumulación de un crontab ejecuta como usuario activo en 10.6 o posterior, el camino llave por omisión es diferente que cuando estás conectado de manera interactiva. Esto me parece un error, aunque podrías argumentar que es "más seguro". He aquí cómo ver la diferencia: use la herramienta bash 'security list-keychains'. Cuando lo hago en la parte superior de mi script de construcción que se ejecuta interactivamente desde la terminal, muestra mis/User/acoven/... keychains. Cuando lo hago desde un crontab, todos mis llaveros/User/acoven/... no están en las rutas activas del llavero. –