Sobre el proyecto

Kickstarter para iOS es la versión oficial de código abierto de la aplicación nativa de Kickstarter para iOS, compartida por la empresa como recurso educativo sobre cómo su equipo nativo construye y mantiene la aplicación. También se publica por separado una contraparte para Android como código abierto. Para empezar se requiere Xcode (el README indica compatibilidad con Xcode 14.3 / Swift 5.8) y clonar el repositorio. Establecer `KsApi.Secrets.isOSS` en `true` proporciona una versión simulada que sirve datos codificados de inmediato, de modo que la aplicación puede explorarse sin credenciales de backend en vivo. Prácticas de ingeniería destacadas descritas en el README: - Pruebas de instantáneas: cada carpeta de funcionalidad en `Kickstarter-Framework-iOS` contiene un directorio de instantáneas, que en conjunto suman casi 600 capturas de pantalla que cubren muchos idiomas, dispositivos y estados de casos límite, utilizadas para mantener estable el comportamiento de la interfaz de usuario. - Modelos de vista: se utilizan como una forma ligera de aislar efectos secundarios alrededor de un núcleo funcional, escritos como asignaciones puras de señales de entrada a señales de salida, con pruebas exhaustivas que incluyen localización, accesibilidad y seguimiento de eventos. Las pruebas pueden ejecutarse desde la línea de comandos con `make test-all`, o por esquema en Xcode con CMD+U. La documentación adicional se encuentra en el repositorio separado `native-docs`. Las dependencias incluyen bibliotecas propias como Prelude (tipos y funciones ausentes en la biblioteca estándar de Swift) y ReactiveExtensions (operadores añadidos a ReactiveCocoa, construidos sobre ReactiveSwift), además de proyectos de terceros como AlamofireImage, SnapshotTesting, Apollo, Stripe, Kingfisher, SwiftSoup, Facebook SDK, Firebase, Appboy y PerimeterX. Los avisos de terceros están en `NOTICE.md`. Las contribuciones se reciben principalmente como issues de GitHub para comentarios e informes de errores, con instrucciones para incluir el sistema operativo, el dispositivo, el número de versión y los pasos de reproducción. Se aplica un código de conducta a todos los participantes. El proyecto está licenciado bajo Apache License 2.0, Copyright 2021 Kickstarter, PBC.