App de prueba en SwiftUI para experimentar con iOS. Su propósito es mostrar tus repositorios de GitHub y el historial de commits con una estética Liquid Glass (iOS 26).
- SwiftUI + Liquid Glass (iOS 26)
- Tab bar: Commits, Favoritos, Ajustes
- En Commits ves tus repos con sus últimos commits; en Favoritos seleccionas repos para acceder rápido a su historial completo
- El token de GitHub se pega en Ajustes y se guarda en el Keychain del dispositivo (no queda embebido en la app)
- Build y
.ipafirmado mediante el workflow de.github/workflows/ios-build.yml(solo se lanza manualmente)
Para replicarlo se necesita una cuenta de desarrollador de Apple (y el certificado/provisioning profile correspondiente).
Development.p12— certificado de firma (cifrado con contraseña)Development.mobileprovision— provisioning profile ligado a tu dispositivo
Ambos se generan desde la cuenta de desarrollador de Apple (o un servicio de firma).
Secrets:
| Nombre | Valor |
|---|---|
APPLE_CERT_BASE64 |
el .p12 en base64 (base64 -w0 Development.p12) |
PROFILE_BASE64 |
el .mobileprovision en base64 (base64 -w0 Development.mobileprovision) |
PROFILE_UUID |
UUID del perfil (aparece en security cms -D -i Development.mobileprovision) |
CERTIFICATE_NAME |
nombre del certificado (ej. iPhone Developer: Created via API (XXXXXXXXXX)) |
CODE_SIGN_IDENTITY |
el mismo nombre del certificado |
APPLE_CERT_PASSWORD |
contraseña del .p12 |
KEYCHAIN_PASSWORD |
contraseña del keychain temporal del runner (puede ser cualquiera) |
El Personal Access Token de GitHub no es un secret del workflow: se pega directamente en la app (pestaña Ajustes) y se guarda en el Keychain del dispositivo, por lo que no queda embebido en el binario.
Variables:
| Nombre | Valor |
|---|---|
ENABLE_SIGNED_RELEASE |
true (para activar el job de firma y generar el .ipa) |
Además, PRODUCT_BUNDLE_IDENTIFIER en el proyecto debe coincidir con el bundle ID autorizado por el provisioning profile.