¿Aplicación de iPhone menos tienda de aplicaciones?

Si creo una aplicación en mi Mac, ¿hay alguna forma de que pueda ejecutarla en un iPhone sin tener que pasar por la tienda de aplicaciones?

No importa si el iPhone tiene que ser liberado, siempre que pueda ejecutar una aplicación creada con el SDK oficial. Por razones en las que no entraré, no puedo permitir que este programa pase por la tienda de aplicaciones.

preguntado el 01 de septiembre de 08 a las 05:09

A partir de Xcode 7, ahora es posible ejecutar una aplicación en un dispositivo conectado sin registrarse para obtener una cuenta de desarrollador o liberar el dispositivo. Ver esta guía para detalles. -

Puede usar el AppBox, Una aplicación mac que usa su cuenta de Dropbox para distribuir sus aplicaciones ad-hoc y empresariales. Pruébalo aquí github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/… -

9 Respuestas

Programa de desarrollo oficial

Para un iPhone estándar, deberá pagar US $ 99 / año para ser miembro del programa de desarrolladores. A continuación, puede utilizar el sistema ad hoc para instalar su aplicación en hasta 100 dispositivos. El programa del desarrollador tiene los detalles, pero implica agregar UUID para cada uno de los dispositivos a su paquete de aplicación. Los UUID se pueden recuperar más fácilmente usando Ayudante Ad Hoc disponible en la App Store. Para obtener más detalles sobre este método, consulte Craig Hockenberry's Prueba beta en iPhone 2.0 artículo

IPhone con jailbreak

Para iPhones con jailbreak, puede usar el siguiente método que he probado personalmente usando el AcelerómetroGráfico aplicación de muestra en iPhone OS 3.0.

Crear certificado autofirmado

Primero, deberá crear un certificado autofirmado y parchear el SDK de su iPhone para permitir el uso de este certificado:

  1. Inicie Keychain Access.app. Sin elementos seleccionados, en el menú Llavero, seleccione Asistente de certificado y luego Crear un certificado.

    Nombre: Desarrollador de iPhone
    Tipo de certificado: firma de código
    Permítame anular los valores predeterminados: sí

  2. Clic Continuar

    Validez: 3650 días.

  3. Clic Continuar

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

  5. Haga clic en Continuar hasta completar.

    Debería ver "Este certificado raíz no es de confianza". Se esperaba esto.

  6. Configure el iPhone SDK 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.

Implementación manual a través de WiFi

Los siguientes pasos requieren opensshe invirtiendo uikittools para ser instalado primero. Reemplazar jasoniphone.local con el nombre de host del dispositivo de destino. Asegúrese de establecer su propia contraseña en ambos mobile y los root usuarios después de instalar SSH.

Para compilar e instalar manualmente su aplicación en el teléfono como una aplicación del sistema (sin pasar por el sistema de instalación de Apple):

  1. Proyecto, Establecer SDK activo, Dispositivo y Establecer configuración de compilación activa, Lanzamiento.

  2. Compile su proyecto normalmente (usando Build, no Build & Go).

  3. En los build/Release-iphoneos directorio tendrá un paquete de aplicaciones. Utilice su método preferido para transferir esto a / Aplicaciones en el dispositivo.

    scp -r AccelerometerGraph.app root@jasoniphone:/Applications/

  4. Informe a SpringBoard que se ha instalado la nueva aplicación:

    ssh mobile@jasoniphone.local uicache

    Esto solo debe hacerse cuando agrega o elimina aplicaciones. Las aplicaciones actualizadas solo necesitan ser relanzadas.

Para facilitarle la vida durante el desarrollo, puede configurar la autenticación de clave SSH y agregar estos pasos adicionales como un paso de compilación personalizado en su proyecto.

Tenga en cuenta que si desea eliminar la aplicación más adelante, no puede hacerlo a través de la interfaz estándar de SpringBoard y deberá usar SSH y actualizar SpringBoard:

ssh root@jasoniphone.local rm -r /Applications/AccelerometerGraph.app &&
ssh mobile@jasoniphone.local uicache

Respondido el 06 de enero de 10 a las 08:01

El mío no se compilará - Xcode inmediatamente da un error de firma de código tan pronto como intento compilar ... - Devoto

@ Rev316 uicache debería estar allí si tienes el uikittools paquete instalado. - Jason resistido

Te sigo pero encontré este error: stackoverflow.com/questions/2161877/… - hungbm06

Además, desea configurar un par de claves privada / pública a través de ssh para que las cosas no tengan contraseña: conradev

¿Qué pasa con el perfil de aprovisionamiento? ¿Existe alguna forma de conseguir uno sin suscribirse al programa de desarrolladores? - Teodor Kostov

Sí, una vez que se haya unido al Programa para desarrolladores de iPhone y haya pagado a Apple $ 99, puede aprovisionar sus aplicaciones en hasta 100 dispositivos iOS.

Respondido 29 Oct 11, 00:10

¿Por qué hay un límite de instalación de 100? - Marcus Leon

Por lo tanto, la gente no puede usar esto como una forma de eludir la tienda de aplicaciones por completo. - willc2

Y el límite de 100 se cuenta como la cantidad de dispositivos que ha registrado ese año en el portal de aprovisionamiento de iOS, no como la cantidad actual que tiene. Entonces, si agrega 5 dispositivos y luego elimina los 5, tiene 95 (no 100) dispositivos más que puede agregar. - Scott C Wilson

Pero la cantidad de dispositivos utilizados se restablece una vez que renueva su programa de desarrollador. - dgund

Y los perfiles de aprovisionamiento ad-hoc caducan en 3 meses, por lo que no puede distribuir aplicaciones de forma permanente ni siquiera al conjunto limitado (100) de dispositivos que ha registrado. - Bogatyr

  • Crea tu aplicación
  • Subir a un sitio de crack
  • (Si su aplicación es lo suficientemente buena), la versión crack se publicará minutos después y estará lista para que todos la descarguen ;-)

Respondido 20 Abr '10, 05:04

Con la ayuda de los esta publicación, Hice un script que se instalará a través de la aplicación Installous para una implementación rápida:

# compress application.
/bin/mkdir -p $CONFIGURATION_BUILD_DIR/Payload
/bin/cp -R $CONFIGURATION_BUILD_DIR/MyApp.app $CONFIGURATION_BUILD_DIR/Payload
/bin/cp iTunesCrap/logo_itunes.png $CONFIGURATION_BUILD_DIR/iTunesArtwork
/bin/cp iTunesCrap/iTunesMetadata.plist $CONFIGURATION_BUILD_DIR/iTunesMetadata.plist

cd $CONFIGURATION_BUILD_DIR

# zip up the HelloWorld directory

/usr/bin/zip -r MyApp.ipa Payload iTunesArtwork iTunesMetadata.plist

Lo que falta en la publicación mencionada anteriormente es iTunesMetadata. Sin esto, Installous no instalará las aplicaciones correctamente. Aquí hay un ejemplo de iTunesMetadata:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>appleId</key>
    <string></string>
    <key>artistId</key>
    <integer>0</integer>
    <key>artistName</key>
    <string>MYCOMPANY</string>
    <key>buy-only</key>
    <true/>
    <key>buyParams</key>
    <string></string>
    <key>copyright</key>
    <string></string>
    <key>drmVersionNumber</key>
    <integer>0</integer>
    <key>fileExtension</key>
    <string>.app</string>
    <key>genre</key>
    <string></string>
    <key>genreId</key>
    <integer>0</integer>
    <key>itemId</key>
    <integer>0</integer>
    <key>itemName</key>
    <string>MYAPP</string>
    <key>kind</key>
    <string>software</string>
    <key>playlistArtistName</key>
    <string>MYCOMPANY</string>
    <key>playlistName</key>
    <string>MYAPP</string>
    <key>price</key>
    <integer>0</integer>
    <key>priceDisplay</key>
    <string>nil</string>
    <key>rating</key>
    <dict>
        <key>content</key>
        <string></string>
        <key>label</key>
        <string>4+</string>
        <key>rank</key>
        <integer>100</integer>
        <key>system</key>
        <string>itunes-games</string>
    </dict>
    <key>releaseDate</key>
    <string>Sunday, December 12, 2010</string>
    <key>s</key>
    <integer>143441</integer>
    <key>softwareIcon57x57URL</key>
    <string></string>
    <key>softwareIconNeedsShine</key>
    <false/>
    <key>softwareSupportedDeviceIds</key>
    <array>
        <integer>1</integer>
    </array>
    <key>softwareVersionBundleId</key>
    <string>com.mycompany.myapp</string>
    <key>softwareVersionExternalIdentifier</key>
    <integer>0</integer>
    <key>softwareVersionExternalIdentifiers</key>
    <array>
        <integer>1466803</integer>
        <integer>1529132</integer>
        <integer>1602608</integer>
        <integer>1651681</integer>
        <integer>1750461</integer>
        <integer>1930253</integer>
        <integer>1961532</integer>
        <integer>1973932</integer>
        <integer>2026202</integer>
        <integer>2526384</integer>
        <integer>2641622</integer>
        <integer>2703653</integer>
    </array>
    <key>vendorId</key>
    <integer>0</integer>
    <key>versionRestrictions</key>
    <integer>0</integer>
</dict>
</plist>

Obviamente, reemplace todas las instancias de MyApp con el nombre de su aplicación y MyCompany con el nombre de su empresa.

Básicamente, esto se instalará en cualquier dispositivo con jailbreak que tenga instalado Installous. Una vez configurado, esto se traduce en una implementación muy rápida, ya que se puede instalar desde cualquier lugar, simplemente cárguelo en el sitio web de su empresa, descargue el archivo directamente en el dispositivo y cópielo / muévalo a ~/Documents/Installous/Downloads.

contestado el 28 de mayo de 14 a las 08:05

@ToolmakerSteve Lo dudo, pero dado que ahora puede cargar aplicaciones iOS con cualquier ID de Apple de forma gratuita, no veo la necesidad de hacerlo. - Richard J. Ross III

Con el próximo Xcode 7, ahora es posible instalar aplicaciones en sus dispositivos sin una licencia de desarrollador de Apple, por lo que ahora es posible omitir la tienda de aplicaciones y no tienes que hacer jailbreak a tu dispositivo.

Ahora todos pueden obtener su aplicación en su dispositivo Apple.

Xcode 7 y Swift ahora facilitan que todos creen aplicaciones y las ejecuten directamente en sus dispositivos Apple. Simplemente inicie sesión con su ID de Apple y convierta su idea en una aplicación que puede tocar en su iPad, iPhone o Apple Watch. Descargue Xcode 7 beta y pruébelo usted mismo hoy. No es necesario ser miembro del programa.

Citado de: https://developer.apple.com/xcode/

Actualizar:

XCode 7 ya está disponible:

Desarrollo gratuito en el dispositivo Ahora todo el mundo puede ejecutar y probar su propia aplicación en un dispositivo, de forma gratuita. Puede ejecutar y depurar sus propias creaciones en una Mac, iPhone, iPad, iPod touch o Apple Watch sin tarifas y sin programas a los que unirse. Todo lo que necesita hacer es ingresar su ID de Apple gratis en Xcode. Incluso puede usar el mismo ID de Apple que ya usa para App Store o iTunes. Una vez que haya perfeccionado su aplicación, el Programa para desarrolladores de Apple puede ayudarlo a obtenerla en la App Store.

Consulte nuestra página Lanzamiento de su aplicación en dispositivos para obtener información detallada sobre la instalación y ejecución en dispositivos.

Respondido el 20 de junio de 20 a las 12:06

Vale la pena señalar que si sigue la ruta del jailbreak, es posible (¿probable?) Que una actualización del sistema operativo iPhone elimine su capacidad para ejecutar estas aplicaciones. Iría por la ruta oficial y pagaría los $ 99 para obtener la autorización. Además de no tener que preocuparse de que sus aplicaciones sean golpeadas, también tiene la oportunidad (si lo desea) de lanzar sus aplicaciones en la tienda.

respondido 20 nov., 08:16

Después de copiar la aplicación al iPhone de la forma descrita por @Jason Weathered, asegúrese de "chmod + x" de la aplicación, de lo contrario no se ejecutará.

Respondido 22 Jul 11, 10:07

* Cambios / Notas para que esto funcione Xcode 3.2.1 y los iPhone SDK 3.1.2

Implementación manual a través de WiFi

2) Asegúrese de reiniciar Xcode después de modificar Info.plist

3) No se encuentra el comando "uicache", el uso de killall -HUP SpringBoard funcionó bien para mí.

Aparte de eso, puedo confirmar que esto funciona bien.

Los usuarios de Mac, el uso de PwnageTool 3.1.4 funcionó muy bien para Jailbreak (DL a través de torrent).

Respondido el 06 de enero de 10 a las 01:01

Ah. Gracias Jason, ¡Aprecio la publicación bien documentada! Quizás quiera mencionar la instalación del paquete UIKit Tools de Cydia para Jailbreak nubs como yo. - Rev316

Si parcheas /Developer/Platforms/iPhoneOS.platform/Info.plist y luego intente depurar una aplicación que se ejecuta en el dispositivo utilizando un perfil de aprovisionamiento de desarrollo real de Apple, probablemente no funcionará. Los síntomas son extraños mensajes de error de com.apple.debugserver y que puede usar cualquier identificador de paquete sin obtener un error al compilar en Xcode. La solución es restaurar Info.plist.

Respondido 29 Oct 11, 00:10

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.