AltStore es una tienda de aplicaciones alternativa para dispositivos iOS sin jailbreak.
AltStore es una aplicación de iOS que le permite descargar otras aplicaciones (archivos .ipa) en su dispositivo iOS con solo su ID de Apple. AltStore renuncia a las aplicaciones con su certificado de desarrollo personal y las envía a una aplicación de escritorio, AltServer, que instala las aplicaciones renunciadas en su dispositivo mediante la sincronización WiFi de iTunes. Para evitar que las aplicaciones caduquen, AltStore también actualizará periódicamente sus aplicaciones en segundo plano cuando esté en el mismo WiFi que AltServer.
Para el lanzamiento inicial, me concentré en construir una base sólida para distribuir mis propias aplicaciones, principalmente Delta, mi emulador todo en uno para iOS. Sin embargo, ahora que se lanzó Delta, estoy comenzando a trabajar para agregar soporte para que cualquiera pueda enumerar y distribuir sus aplicaciones a través de AltStore (¡se aceptan contribuciones!).
AltStore es una aplicación iOS normal y protegida. El objetivo de la aplicación AltStore contiene la gran mayoría de la funcionalidad de AltStore, incluida toda la lógica para descargar y actualizar aplicaciones a través de AltStore. AltStore hace un uso intensivo de los marcos y tecnologías estándar de iOS con los que la mayoría de los desarrolladores de iOS están familiarizados, como por ejemplo:
AltServer también es simplemente una aplicación macOS normal y protegida. Sin embargo, AltServer es significativamente menos complejo que AltStore y, por esa razón, consta sólo de un puñado de archivos.
AltKit es un marco compartido que incluye código común entre AltStore y AltServer.
AltSign es mi marco interno utilizado por AltStore y AltServer para comunicarse con los servidores de Apple y cancelar aplicaciones. Para obtener más información, consulte el repositorio de AltSign.
Roxas es mi marco interno utilizado en todos mis proyectos de iOS, desarrollado para simplificar una variedad de tareas comunes utilizadas en el desarrollo de iOS. Para obtener más información, consulte el repositorio de Roxas.
AltStore y AltServer son bastante sencillos de compilar y ejecutar si ya eres desarrollador de iOS o macOS. Para compilar AltStore y/o AltServer:
git clone https://github.com/rileytestut/AltStore.git
cd AltStore
git submodule update --init --recursive
AltStore.xcworkspace
y seleccione el proyecto AltStore en el navegador de proyectos. En la pestaña Signing & Capabilities
, cambie el equipo de Yvette Testut
a su propia cuenta.ALTDeviceID
en Info.plist al UDID de su dispositivo. Normalmente, AltServer incorpora el UDID del dispositivo en Info.plist de AltStore durante la instalación. Al ejecutar Xcode, deberá establecer el valor usted mismo o, de lo contrario, AltStore no renunciará (ni instalará) aplicaciones para el dispositivo adecuado.ALTServerID
en Info.plist al serverID de su AltServer. AltServer lo integra durante la instalación para ayudar a AltStore a distinguir entre múltiples AltServers en la misma red, y puede encontrarlo usando una aplicación de navegación Bonjour y anotando el ID del servidor anunciado por AltServer. Esto no es estrictamente necesario, porque si AltStore no puede encontrar el AltServer con el serverID incorporado, aún así recurrirá a probar con otro AltServer. Sin embargo, esto ayudará en los casos en los que haya varios AltServers ejecutándose (además, los mensajes de error son más útiles).Debido a la licencia de algunas dependencias utilizadas por AltStore, no tengo más remedio que distribuir AltStore bajo la licencia AGPLv3 . Dicho esto, mi objetivo para AltStore es que sea un proyecto de código abierto que cualquiera pueda usar sin restricciones, por lo que doy permiso explícito para que cualquiera use, modifique y distribuya todo mi código original para este proyecto en cualquier forma, con o sin atribución, sin temor a consecuencias legales (sin embargo, las dependencias permanecen bajo sus licencias originales).
¿Preguntas sobre AltStore en general? Asegúrese de leer las preguntas frecuentes en https://altstore.io/faq/