¿Cómo puedo implementar una aplicación de iPhone desde Xcode a un dispositivo iPhone real sin tener un certificado de Apple de US $ 99?
¿Cómo puedo implementar una aplicación de iPhone desde Xcode a un dispositivo iPhone real sin tener un certificado de Apple de US $ 99?
Respuestas:
Parece que la aplicación no está firmada. Descargue ldid de Cydia y luego utilícelo así:ldid -S /Applications/AccelerometerGraph.app/AccelerometerGraph
También asegúrese de que el binario esté marcado como ejecutable: chmod +x /Applications/AccelerometerGraph.app/AccelerometerGraph
He usado una combinación de dos howtos: Jason y alex . Con el segundo tenemos la ventaja de poder depurar. Sobre todo copiaré los dos a continuación (y simplificaré los de Alex):
Actualización de enero de 2012: esto todavía funciona en SDK 4.2.1 e iOS 5.0.1. ¡Acabo de probarlo todo en una nueva computadora y dispositivo!
Parche su SDK de iPhone para permitir el uso de este certificado:
Inicie Keychain Access.app. Sin elementos seleccionados, en el menú Llavero, seleccione Asistente de certificado y luego Crear un certificado.
Haga clic en continuar
Haga clic en continuar
En blanco el campo de dirección de correo electrónico .
Haga clic en Continuar hasta completar .
Debería ver "Este certificado raíz no es de confianza" . Esto se espera.
Configure el SDK de iPhone para permitir el uso del certificado autofirmado:
sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist
Si tiene Xcode abierto, reinícielo para que este cambio surta efecto.
Y si estás en iOS 5, ¡ya está! ¡Pruebalo ahora! Puede que no permita la depuración, ¡pero la aplicación estará allí!
Me sorprendió mucho esto porque, como deberían saber , ¡no tengo idea de qué se tratan todos esos ataques! Todo lo que hice fue mejorar un poco lo que encontré en otros lugares, como señalé.
Entonces, sí, todo el método ya no funciona de la misma manera y no pude molestarme en encontrar uno nuevo ... Excepto por esto, que usa una herramienta llamada Theos pero no pude pasar por todo el proceso.
Finalmente, si necesita desinstalarlo por cualquier razón, verifique el final de esta publicación. En mi caso, tuve que hacerlo porque no podía entender por qué todo el azul este método dejó de funcionar, y ya no podía importarme ya que ya teníamos la licencia tan esperada. (El maldito número DUNS lleva tanto tiempo ...)
.
.
.
.
.
En su iPhone con jailbreak, instale la aplicación AppSync agregando la fuente ** http://repo.hackyouriphone.org **
Elimine los requisitos del SDK para la firma del código y los derechos (¡me encanta sed !):
sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
Presta atención a laiPhoneOS5.0.sdk
parte. Si, por ejemplo, está usando iOS 4.2 SDK, simplemente reemplácelo en consecuencia:
sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
Concluya la eliminación de requisitos mediante el parcheo de Xcode. Esto significa edición binaria:
cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
printf "\xc3\x26\x00\x00" >> working
/bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
/bin/mv working iPhoneOS\ Build\ System\ Support
chmod a+x iPhoneOS\ Build\ System\ Support
Si tiene Xcode abierto, reinícielo para que este cambio (y el último) surta efecto.
Abra "Proyecto> Editar configuración del proyecto" (desde el menú). Haga clic en la pestaña "Compilar" . Busque "Identidad de firma de código" y su hijo "Cualquier dispositivo iPhoneOS" en la lista, y establezca ambos en la entrada "No firmar código" :
Después de esto, siéntase libre de deshacer el paso 3. Al menos en mi caso todo salió bien.
Configurando Xcode para firmar con nuestro certificado autofirmado personalizado (el primer tutorial). Este paso probablemente se puede omitir si no desea poder depurar:
mkdir /Developer/iphoneentitlements401
cd /Developer/iphoneentitlements401
curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
mv gen_entitlements.txt gen_entitlements.py
chmod 777 gen_entitlements.py
Conecte su iPhone y abra Xcode. Ventana abierta> Organizador. Seleccione el dispositivo de la lista en el lado izquierdo y haga clic en "Usar para desarrollo". Se le pedirá que inicie sesión en el sitio web de aprovisionamiento, haga clic en cancelar. Está ahí para facilitar el aprovisionamiento legítimo, pero no dificulta el no aprovisionamiento ilegítimo.
Ahora tiene que hacer esta última parte para cada nuevo proyecto que realice . Vaya al menú Proyecto> Nueva fase de compilación> Nueva fase de compilación del script de ejecución. En la ventana, copie / pegue esto:
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
if [ "${PLATFORM_NAME}" == "iphoneos" ]; then
/Developer/iphoneentitlements401/gen_entitlements.py "my.company.${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
.
.
.
.
Para la primera parte:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Info.plist.bak /Developer/Platforms/iPhoneOS.platform/Info.plist
Para la 2da parte:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
sudo mv -f iPhoneOS\ Build\ System\ Support.original iPhoneOS\ Build\ System\ Support
en caso de que haya hecho el paso 3 en lugar de 2, simplemente modifíquelo en consecuencia también:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
por lo demás, es solo revertir lo que hizo en XCode y eliminarlo /Developer/iphoneentitlements401/gen_entitlements.py
si lo desea:
sudo rm -f /Developer/iphoneentitlements401/gen_entitlements.py
The identity used to sign the executable is no longer valid. ... (0xE8008018)
incluso cuando expiro 3650 días. Parece que el teléfono está haciendo una comprobación.
Para probar su aplicación en un dispositivo real en lugar de pagar la tarifa de desarrollador de Apple (o liberar su dispositivo), puede usar el nuevo aprovisionamiento gratuito que admite Xcode 7 e iOS 9.
Aquí están los pasos tomados más o menos de la documentación (que es bastante buena, así que lean):
1. Agregue su ID de Apple en Xcode
Vaya a XCode> Preferencias> pestaña Cuentas> botón Agregar (+)> Agregar ID de Apple. Consulte los documentos para obtener más ayuda.
2. Haga clic en la pestaña General en el Navegador de proyectos
3. Elija su ID de Apple en el menú emergente Equipo.
4. Conecte su dispositivo y elíjalo en el menú del esquema.
5. Haga clic en el botón Solucionar problemas
Si recibe un error acerca de que el nombre del paquete no es válido, cámbielo a algo único.
6. Ejecute su aplicación
En Xcode, haga clic en el botón Construir y ejecutar.
7. Confíe en el desarrollador de la aplicación en la configuración del dispositivo
Después de ejecutar su aplicación, recibirá un error de seguridad porque la aplicación que desea ejecutar no es de la App Store.
En su dispositivo , vaya a Configuración> General> Perfil> su nombre de ID de Apple > Confíe en su nombre de ID de Apple > Confiar.
8. Ejecute su aplicación en su dispositivo nuevamente.
Eso es. Ahora puede ejecutar su propio (o cualquier otra aplicación para la que tenga el código fuente) sin tener que repartir los $ 99 dólares. Gracias, Apple, por finalmente permitir esto.
Tendrás que hacer jailbreak a tu dispositivo.
Hay una manera de implementar aplicaciones de iPhone sin pagar a Apple. Tendrá que hacer jailbreak a su dispositivo y seguir las instrucciones en http://www.alexwhittemore.com/?p=398
Nada de lo que he visto en ninguna parte indica que puede implementar ad-hoc en un iPhone real sin un certificado (pagado).
Estaba revisando el desarrollador de Apple anoche y allí, en el Certificado de aprovisionamiento, encontré algo como: "Firmar miembros del equipo". Creo que hay una manera de agregar miembros del equipo al perfil pagado. Simplemente puede pedirle al Propietario del Id. De la aplicación (pagado) que lo agregue como miembro del equipo. No estoy seguro. Todavía estoy buscando eso.
No, es fácil hacer esto. En Xcode, establezca la Configuración activa en Release. Cambie el dispositivo de Simulator a Device, sea cual sea el SDK. Si desea exportar directamente a su iPhone, conéctelo a su computadora. Presione Build and Go. Si su iPhone no está conectado a su computadora, aparecerá un mensaje diciendo que su iPhone no está conectado.
Si esto se aplica a usted: (el iPhone no estaba conectado)
Vaya a la carpeta de sus proyectos y luego a la carpeta de compilación dentro. Vaya a la carpeta Release-iphoneos y lleve la aplicación adentro, arrastre y suelte el ícono de iTunes. Cuando sincronice su dispositivo iTouch, lo copiará a su dispositivo. También aparecerá en iTunes como una aplicación para iPhone.
¡Espero que esto ayude!
PD: Si dice algo acerca de que un certificado no es válido, simplemente haga clic en el proyecto en Xcode, el pequeño icono del proyecto en la pila de archivos a la izquierda, y presione Apple + I, o haga clic en Obtener información en la barra de menú. Haga clic en Construir en la parte superior. En Firma de código, cambie la Identidad de firma de código: cualquier dispositivo con iPhone OS no se debe firmar.
Esto realmente depende de la versión de Xcode que esté utilizando, ya que las diferentes versiones utilizan diferentes métodos para implementar en su iPhone sin un perfil de aprovisionamiento.
Xcode 3.2.1 es una buena versión y es fácil de resolver, pero necesitamos saber qué versión está utilizando.
La solución publicada por Cawas también funciona perfectamente con XCode4. Sin embargo, hay algunos cambios en la interfaz de usuario de IDE, por lo que debe investigar un poco para encontrar Run Script :)
En la vista Navegador de proyectos, haga clic en el elemento raíz del proyecto, luego en la ventana central seleccione Destino, luego haga clic en la pestaña Fases de compilación y en la parte inferior verá el botón Agregar fase de compilación, haga clic y seleccione Agregar secuencia de comandos de ejecución, luego pegue "codeign" "guión publicado por Cawas.
No hay solución alternativa. Solo puede implementar aplicaciones ad hoc si están registradas en su dispositivo. Esto le impide crear su propia tienda de aplicaciones.