Pregunta

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

No importa si el iPhone tiene que tener jailbreak, siempre y cuando todavía pueda ejecutar una aplicación creada con el SDK oficial.Por razones que no explicaré, no puedo tener este programa en la tienda de aplicaciones.

¿Fue útil?

Solución

Programa oficial para desarrolladores

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

iPhone con jailbreak

Para iPhones con jailbreak, puedes 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 ningún elemento seleccionado, en el menú Llavero, seleccione Asistente de certificado y luego Crear un certificado.

    Nombre:Desarrollador de iPhone
    Tipo de certificado:Firma de código
    Déjame anular los valores predeterminados:Sí

  2. Haga clic en Continuar

    Validez:3650 días

  3. Haga clic en Continuar

  4. Borre el campo Dirección de correo electrónico.

  5. Haga clic en Continuar hasta completar.

    Deberías ver "Este certificado raíz no es de confianza".Esto es lo que se espera.

  6. 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 tienes Xcode abierto, reinícialo para que este cambio surta efecto.

Implementación manual a través de WiFi

Los siguientes pasos requieren openssh, y 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 tanto en el mobile y 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 el 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 sólo debe hacerse cuando agrega o elimina aplicaciones.Las aplicaciones actualizadas sólo necesitan reiniciarse.

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 podrá 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

Otros consejos

Sí, una vez que te hayas unido al Programa de Desarrolladores de iPhone y hayas pagado a Apple $99, podrás aprovisionar tus aplicaciones en hasta 100 dispositivos iOS.

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

Con la ayuda de esta publicación, He creado 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 son los iTunesMetadata.Sin esto, Installous no instalará aplicaciones correctamente.A continuación se muestra 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 da como resultado 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 al dispositivo y cópielo/muévalo a ~/Documents/Installous/Downloads.

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 saltar la tienda de aplicaciones y no tienes que hacer jailbreak a tu dispositivo.

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

Xcódigo 7 y Swift ahora hace que sea más fácil para todos crear aplicaciones y ejecutarlas directamente en sus dispositivos Apple.Solo tienes que iniciar sesión con tu ID de Apple, y convertir tu idea en una app que puedes tocar en tu iPad, iPhone o Apple Watch.Descargar Xcode 7 beta y probarlo usted mismo hoy.No se requiere membresía en el programa.

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

Actualizar:

XCode 7 ya está lanzado:

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 un Mac, iPhone, iPad, iPod touch o Apple Watch sin cargo alguno y sin programas para unirse.Todo lo que necesita hacer es introducir su ID de Apple gratuito en En Xcode.Incluso puedes usar el mismo ID de Apple que ya usas para la aplicación Tienda o iTunes.Una vez que haya perfeccionado su aplicación el desarrollador de Apple Programa puede ayudarle a conseguirlo en la App Store.

Ver Lanzar su aplicación en dispositivos Para obtener información detallada sobre la instalación y la ejecución de dispositivos.

Vale la pena señalar que si opta por el jailbreak, es posible (¿probable?) que una actualización del sistema operativo del iPhone elimine su capacidad para ejecutar estas aplicaciones.Yo seguiría la ruta oficial y pagaría los 99 dólares para obtener la autorización.Además de no tener que preocuparte de que tus aplicaciones sean golpeadas, también tienes la oportunidad (si así lo deseas) de publicar tus aplicaciones en la tienda.

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

*Cambios/Notas para que esto funcione Xcode 3.2.1 y SDK de iPhone 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", usar Killall -HUP SpringBoard funcionó bien para mí.

Aparte de eso, puedo confirmar que esto funciona bien.

Los usuarios de Mac, que usaron PwnageTool 3.1.4, funcionaron muy bien para hacer Jailbreak (DL vía torrent).

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 desarrollo real de Apple, probablemente no funcionará.Los síntomas son mensajes de error extraños de com.apple.debugserver y que puede usar cualquier identificador de paquete sin recibir un error al compilar en Xcode.La solución es restaurar Info.plist.

Puedes usar Caja de aplicaciones, Una aplicación para Mac que utiliza su cuenta de Dropbox para distribuir aplicaciones empresariales y ad hoc, si desea instalarlas desde cualquier otro navegador.

https://github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/releases


Opciones

Archivar y cargar IPA

  • Simplemente seleccione Proyecto/Espacio de trabajo para archivo -> hacer ipa -> subir ipa -> enviar correo -> y apagar mac

Subir solo IPA

  • Simplemente seleccione el archivo IPA para subir ipa -> enviar correo -> y apagar mac

Característica

  • Mantener el mismo enlace
    • Esta función mantendrá la misma URL corta para todos los ipa futuros cargados con el mismo identificador de paquete.
    • Si esta opción está habilitada, también puede descargar la compilación anterior con la misma URL.
  • Correo electrónico automático Enlace de distribución de aplicaciones
  • Apagado automático de Mac después de la distribución
  • Tamaño máximo de carga => Igual al almacenamiento de tu cuenta de Dropbox
  • Caducidad de la aplicación cargada => Hasta que lo elimines de tu Dropbox
  • Instalaciones por aplicación => Ilimitado
  • Panel*

    * Estará disponible en una versión futura.


AppBox y Diawi

Captura de pantalla

Subir API

Archivar y cargar IPA

Subiendo API

Pruébalo aquí https://github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/releases

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top