¿Cómo puedo implementar una aplicación para iPhone desde Xcode a un dispositivo iPhone real?

¿Cómo puedo implementar una aplicación de iPhone desde Xcode a un dispositivo iPhone real sin tener un certificate Apple de US $ 99?

Parece que la aplicación no está firmada. Descargue ldid de Cydia y luego utilícelo así: ldid -S /Applications/AccelerometerGraph.app/AccelerometerGraph

Asegúrese también de que el file binary esté marcado como ejecutable: chmod +x /Applications/AccelerometerGraph.app/AccelerometerGraph

He usado una mezcla de dos Howtos: Jason's y Alex's . Con el segundo tenemos la ventaja de poder depurar. Sobre todo voy a copyr ambos a continuación (y simplificar los de Alex):

Actualización de enero de 2012: sigue funcionando en SDK 4.2.1 e iOS 5.0.1. ¡Lo he probado todo en una computadora y dispositivo nuevo!


1. Cree un certificate autofirmado

Parche su iPhone SDK para permitir el uso de este certificate:

  1. Launch Keychain Access.app. Sin elementos seleccionados, en el menu de llaveros, select Asistente de certificate y, a continuación, cree un certificate.

    • Nombre: desarrollador de iPhone
    • Tipo de certificate: firma de código
    • Déjame anular los valores pnetworkingeterminados:
  2. Haga clic en continuar

    • Validez: 3650 días
  3. Haga clic en continuar

  4. En blanco, el campo de dirección de correo electrónico .

  5. Haga clic en Continuar hasta completar .

    Debería ver "Este certificate raíz no es de confianza" . Esto se espera.

  6. Establezca el iPhone SDK para permitir que se utilice el certificate autofirmado:

     sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist 

    Si tiene abierto Xcode, reinícielo para que este cambio surta efecto.

Y si estás en iOS 5, ¡eso es todo! ¡Pruebalo ahora! Puede que no permita la debugging, ¡pero la aplicación estará allí!

¡Me sorprendió mucho esto, ya que , como usted debería saber , no tengo ni idea sobre de qué se tratan todos esos piratería! Todo lo que hice fue mejorar un poco lo que encontré en otro lado, 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 esto, que usa una herramienta llamada Theos pero no pude seguir todo el process.

Finalmente, si necesita desinstalarlo por alguna razón, verifique el final de esta publicación. En mi caso, tuve que hacerlo porque no pude entender por qué todo el azul, todo este método dejó de funcionar, y ya no me importaba ya que ya tenemos la licencia largamente esperada. (Freaking DUNS number takes long …)

.

.


.

.

.

2. Habilite Xcode para build en el dispositivo Jailbroken

  1. En su iPhone jailbroken, instale la aplicación AppSync agregando la fuente http://cydia.hackulo.us

  2. Eliminar los requisitos de SDK para el signo de código y las autorizaciones (¡Estoy encantado de sed !):

     sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist 
  3. Preste atención a la parte iPhoneOS5.0.sdk . Si está, por ejemplo, utilizando el SDK de iOS 4.2, simplemente reemplácelo según corresponda:

     sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist 
  4. Concluya la eliminación del requisito mediante el parche 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 abierto Xcode, reinícielo para que este cambio (y el último) surta efecto.

  5. Abra "Proyecto> Editar configuration del proyecto" (desde el menu). Haga clic en la pestaña "Generar" . Busque "Identidad de firma de código" y su elemento secundario "Cualquier dispositivo iPhoneOS" en la list y configúrelo en la input "No firmar código" :

    texto alternativo

    Después de esto, siéntete libre de deshacer el paso 3. Al less en mi caso, fue bien.

  6. Configurar Xcode para codificar el signo con nuestro certificate autofirmado personalizado (el primer procedimiento). Este paso probablemente se puede omitir si no desea 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 

    Conecta tu iPhone y abre Xcode. Abrir window> Organizador. Seleccione el dispositivo de la list en el lado izquierdo y click "Usar para el desarrollo". Se le solicitará un inicio de session en el website de aprovisionamiento, click cancelar. Está allí para facilitar el aprovisionamiento legítimo, pero no hace que el aprovisionamiento ilegítimo sea más difícil.

    Ahora tienes que hacer esta última parte para cada nuevo proyecto que hagas . Vaya al menu Proyecto> Nueva fase de compilation> Nueva ejecución de secuencia de compilation Fase. En la window, 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 

.

.


.

.

Desinstallation

Para la primera parte:

 sudo mv -f /Developer/Platforms/iPhoneOS.platform/Info.plist.bak /Developer/Platforms/iPhoneOS.platform/Info.plist 

Para la segunda 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 hizo el paso 3 en lugar de 2, simplemente modifíquelo también según corresponda:

 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 

para el rest, simplemente está volviendo a invertir lo que hizo en XCode y eliminando /Developer/iphoneentitlements401/gen_entitlements.py si lo desea:

 sudo rm -f /Developer/iphoneentitlements401/gen_entitlements.py 

Aprovisionamiento gratuito después de Xcode 7

Para probar su aplicación en un dispositivo real en lugar de pagar la tarifa de desarrollador de Apple (o jailbreak su dispositivo), puede usar el nuevo suministro gratuito que admite Xcode 7 y iOS 9.

Estos son los pasos tomados más o less en la documentation (que es bastante buena, así que dale una lectura):

1. Agregue su ID de Apple en Xcode

Vaya a XCode> Preferences> pestaña Cuentas> Agregar button (+)> Agregar ID de Apple. Consulte los documentos para get más ayuda.

introduzca la descripción de la imagen aquí

2. Haga clic en la pestaña General en el Navegador de proyectos

introduzca la descripción de la imagen aquí

3. Elija su ID de Apple del menu emergente del equipo.

introduzca la descripción de la imagen aquí

4. Conecte su dispositivo y selecciónelo en el menu de esquema.

introduzca la descripción de la imagen aquí

5. Haga clic en el button Reparar problemas

introduzca la descripción de la imagen aquí

Si recibe un error acerca de que el nombre del package no es válido, cámbielo a algo único.

6. Ejecuta tu aplicación

En Xcode, click el button Crear y ejecutar.

introduzca la descripción de la imagen aquí

7. Confíe en el desarrollador de la aplicación en la configuration del dispositivo.

Después de ejecutar su aplicación, obtendrá un error de security porque la aplicación que desea ejecutar no es de App Store.

introduzca la descripción de la imagen aquí

En su dispositivo , vaya a Configuración> General> Perfil> su-Apple-ID-name > Confíe en su-Apple-ID-name > Confianza.

8. Vuelva a ejecutar su aplicación en su dispositivo.

Eso es. Ahora puede ejecutar su count (o cualquier otra aplicación que tenga el código fuente) sin tener que repartir los $ 99 dólares. Gracias, Apple, por permitir finalmente esto.

Tendrá que jailbreak su dispositivo.

No puede, no si está hablando de aplicaciones creadas con el SDK oficial y desplegándose directamente desde xcode.

Hay una manera de desplegar aplicaciones de iPhone sin pagar a Apple. Tendrás que jailbreak tu dispositivo y seguir las instrucciones en http://www.alexwhittemore.com/?p=398

Nada de lo que he visto en ninguna parte indica que puedes implementar ad-hoc en un iPhone real sin un certificate (pagado).

Estaba pasando por el Apple Developer anoche y allí, en el Certificado de aprovisionamiento, encontré algo así como "Miembros del equipo de firma". Creo que hay una forma de agregar miembros del equipo al perfil pago. Puede pedirle al propietario de la Id. De la aplicación (pago uno) que lo agregue como miembro del equipo. No estoy seguro. Todavía buscas en eso.

No, es fácil hacer esto. En Xcode, configure la configuration activa para liberar. Cambie el dispositivo de Simulator a Device, sea cual sea 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 post que indicará que su iPhone no está conectado.

Si esto se aplica a ti: (iPhone no estaba conectado)

Ve a la carpeta de proyectos y luego a la carpeta de construcción dentro. Ve a la carpeta Release-iphoneos y toma la aplicación dentro, arrastra y suelta el ícono de iTunes. Cuando sincronice su dispositivo iTouch, lo copyrá en su dispositivo. También se mostrará en iTunes como una aplicación para el iPhone.

¡Espero que esto ayude!

PS: si dice algo acerca de que un certificate no es válido, simplemente click el proyecto en Xcode, el pequeño ícono de proyecto en la stack de files a la izquierda, y presione Apple + I, o obtenga Obtener información de la barra de menus. Haga clic en Construir en la parte superior. En la firma de código, cambie la identidad de firma de código: cualquier dispositivo de iPhone OS para que no se firme.

Esto realmente depende de la versión de Xcode que esté utilizando, ya que las diferentes versiones utilizan diferentes methods para implementar en su iPhone sin un perfil de aprovisionamiento.

Xcode 3.2.1 es una buena versión y es fácil de orderar, 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 necesita hacer alguna investigación para encontrar Run Script 🙂

En la vista Navegador de proyectos, click el elemento raíz del proyecto, luego, en la window del medio, select Destino, luego click la pestaña Crear fases y, en la parte inferior, verá el button Agregar fase de creación, haga clic y select Agregar ejecución, luego pegue " "script publicado por Cawas.

No hay ninguna solución. Solo puede desplegar aplicaciones ad hoc si están registradas con su dispositivo. Esto le impide crear su propia tienda de aplicaciones.