Cómo generar un paquete de archivos ipa en Xcode5
Como todos sabemos, los programas desarrollados en Xcode solo se pueden ejecutar en el simulador. Si desea instalarlos en un dispositivo real, debe gastar $99 para comprar un certificado de desarrollador iDP. Este artículo presenta la demostración de la generación anterior de Xcode4.6.3. ¿Por qué deberíamos utilizar la versión de la generación anterior? Es muy simple, iOS7 aún no ha logrado un jailbreak a gran escala, por lo que pocas personas usan el sistema iOS7 con jailbreak (excepto los maestros si desea ejecutar Xcode5, ya que no hay certificado de desarrollador ni jailbreak, y desea ejecutar). el archivo ipa gratuito escrito por usted mismo, solo puede hacer jailbreak a ios7 es la única salida, por lo que en ausencia de iDP, para depurar el programa en el iPhone y finalmente liberar el ipa para que todos lo compartan, se requieren los siguientes pasos :
1. Emita un certificado para usted, que se utiliza para firmar el programa generado;
2. Modifique la configuración del proyecto y los archivos binarios y de configuración de Xcode para evitar que se verifiquen y firmen. ;
3. Al personalizar el paso de compilación, utilice un certificado falsificado para firmar la aplicación.
4. Firmar
4. un archivo ipa;
5. Primero debes configurar el Jailbreak del dispositivo ios6 e instalar AppSync para ios4/5/6 a través de Cydia.
Herramientas: iphone4 6.1.2 jailbreak perfecto, MacBook Pro 13 pulgadas, MacBook Pro 4.6.1.1, MacBook Pro 13 pulgadas, MacBook Pro 13 pulgadas, MacBook Pro 13 pulgadas, MacBook Pro 4.6.2, MacBook Pro 4.6.2, MacBook Pro de 13 pulgadas, MacBook Pro de 13 pulgadas. Xcode4.6.3, Plist Editor (para editar archivos plist).
Vayamos al grano:
1. Crear un certificado
Abra la herramienta de utilidad: Keychain Access. Luego haga clic en "Acceso al llavero"-"Asistente de certificado"-"Crear certificado" en la barra de menú para abrir el asistente. El primer paso es importante: debe nombrarlo Desarrollador de iPhone, establecer el tipo en Firma de código y marcar "Permítame anular estos valores predeterminados". Después de eso, no necesita cambiar nada, simplemente haga clic en "Aceptar" y "Continuar" para completar el asistente.
2. Modificar el archivo de configuración de Xcode
1. Presione Comando+Q para cerrar Xcode por completo.
2. Modifique el archivo de configuración:
Busque SDKSettings.plist según la ruta y luego edítelo:
/Applications/Xcode.app/Contents/. Developer/Platforms/ iPhoneOS.Platform/Developer/SDKs/iPhoneOS6.1.sdk/SDKSettings.plist
Cambie "YES" por "NO" en los dos párrafos siguientes
y
3. Aquí hay otro archivo para modificar:
Siga la siguiente ruta para encontrar Info.plist y edítelo:
Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.Platform/Info.plist
Cambie todos los XCiPhoneOSCodeSignContext en Info.plist a XCCodeSignContext, que se encuentran en la rama DefaultProperties , rama OverrideProperties y RuntimeRequirements en la rama.
4. Agregue archivos:
Después de conectarse a Internet, ejecute en la terminal:
mkdir /Applications/Xcode.app/Contents/Developer/iphoneentitlements.
cd /Applications/Xcode.app/Contents/Developer/iphoneentitlements
5.app/Contents/Developer/iphoneentitlements
cd /Applications/ Xcode.app / Contenidos/Desarrollador/iphoneentitlements
curl -O /iphone/gen_entitlements.txt
mv gen_entitlements.txt gen_ entitlements.py
chmod 777 gen_entitlements.py< / p>
Si no tiene una conexión a Internet, puede crear una carpeta en /Applications/Xcode.app/Contents/Developer en la carpeta iphoneentitlements y luego crear manualmente un archivo gen_entitlements.py en esa carpeta y otorgar es permiso de ejecución (comando: sudo). El contenido del archivo es el siguiente:
#! /usr/bin/env python
importar sistema
importar estructura
if len(sys.argv) ! = 3:
imprimir "Uso: %s appnamedest_file.xcent" % sys.argv[0]
sys.exit(-1)
APPNAME = sys.argv[1]
DEST = sys.argv[2]
si no es DEST.endswith('.xml') y notDEST.endswith('.xcent'):
print "El destino debe ser .xml (para ldid) o .
sys. exit(-1)
entitlements = """
f.write(" /xfa\xde\x71\x71")
f.write(struct.pack('>L', len(derechos)+ 8))
f.write(derechos )
f.write(derechos)
f.write(ent
elementos)
f.write(entitlements)write(entitlements)
f.close()
3. Modificar la configuración del proyecto (flashback de depuración real, lea). este paso con cuidado, este paso es la clave del problema)
Nota especial: antes de esta etapa, debe modificar el archivo de configuración, preparar scripts, etc., y solo debe hacerlo una vez. Pero para cada proyecto que requiera una depuración real de la máquina, esta fase de la operación debe realizarse una vez.
El objetivo principal de este paso es admitir la depuración de máquinas reales. Si no realiza este paso, aún puede generar un ipa que se ejecute en una máquina real a través del paso 5, pero no podrá usar el depurador integrado de Xcode para acceder de un solo paso a un programa que se ejecuta en una máquina real. máquina. Si su programa se cierra en unos segundos cuando hace clic en Ejecutar para depurar en una máquina real, verifique que este paso se haya completado correctamente.
1. Deshabilite la firma automática de Xcode
Configure todas las opciones de firma de código en la configuración del proyecto para no realizar la firma de código, como se muestra en la figura. Es posible que primero tengas que hacer clic en "Todos" para que esta opción sea visible.
2. Agregue un script posterior a la compilación personalizado
Agregue una etapa en la etapa de compilación, agregue la etapa de compilación en la esquina inferior derecha, luego haga clic en Agregar secuencia de comandos de ejecución e ingrese el siguiente script:
exportar CODESIGN_ALLOCATE=/ Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
if [ "${PLATFORM_ NOMBRE}" = = "iphoneos" ] || [ "${PLATFORM_NAME}" == "ipados" ]; luego
/Applications/Xcode.app/Contents/Developer/iphoneentitlements/gen_ entitlements.py "mi.empresa .${PROJECT_NAME}""${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";
codesign -f -s " iPhone Developer"--entitlements"$ {BUILT_PRODUCTS_DIR}/ ${WRAPPER_NAME}/${PROJECT_NAME}.xcent""${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"
fi
Como se muestra en la imagen:
Ahora que la configuración está completa, puedes conectar tu iPhone y volver a seleccionar el destino de compilación para probar la depuración en línea. Si es la primera vez que utiliza el dispositivo para depurar, primero cambie el dispositivo al modo de desarrollo en el Organizador (la pequeña luz verde en el lado derecho del iPhone se enciende).
4. Generar archivo IPA
Si mi programa ha sido depurado, ¿cómo puedo enviarlo a otros para que lo utilicen? Normalmente, los archivos ipa se generarían desde el Organizador de Xcode, pero no tenemos el certificado y esta salida produciría un error. Esto sólo lo podremos conseguir con un pequeño truco.
Primero genere el código en el destino de lanzamiento y luego abra la carpeta de salida del proyecto, generalmente /Users/Username/Library/Developer /Xcode/DerivedData/Projects, comenzando con el nombre del proyecto /Build/Products. /Liberar-> . Hay un archivo xxx.app en el directorio de iphoneos, que es el programa generado.
Arrastre esta xxx.app a iTunes y aparecerá en la lista de aplicaciones, luego arrástrela fuera de la lista de iTunes (por ejemplo, al escritorio) y se convertirá en xxx.ipa. Envía este .ipa a otras personas para que compartan el programa contigo