Distribución de Signet. Este repositorio no tiene código: hospeda las dos formas de consumirlo. El código vive en el repositorio principal.
| Cómo | |
|---|---|
| Kotlin Multiplatform / Android | paquete Maven en el registro de este repositorio |
| iOS sin KMP | Swift Package, con el XCFramework en los releases |
// settings.gradle.kts
maven {
url = uri("https://maven.pkg.github.com/roshkadev/mobile-signet-sdk-bin")
credentials {
username = providers.gradleProperty("gpr.user").orNull
password = providers.gradleProperty("gpr.key").orNull
}
}implementation("com.roshka:signet:1.0.1")Las credenciales hacen falta aunque el repositorio sea público: GitHub Packages exige
autenticación para leer, siempre. Un token con read:packages alcanza.
En Xcode, File → Add Package Dependencies, con la URL de este repositorio. O en un Package.swift:
.package(url: "https://github.com/roshkadev/mobile-signet-sdk-bin.git", from: "1.0.1")Por dos motivos independientes.
Los binary targets de Swift Package Manager no pueden descargar de repositorios privados:
GitHub responde 404 en /releases/download/ aunque se envíen credenciales, y el mecanismo de
~/.netrc tampoco lo resuelve. Un repositorio privado rompería la resolución de dependencias en
cualquier proyecto que lo consuma.
Y los paquetes de repositorios privados consumen cuota de almacenamiento y transferencia, que
en un plan gratuito se agota: publicar ahí devuelve 402 Payment Required. Los de repositorios
públicos no consumen nada.
El binario no contiene secretos. Signet es un motor de firma y atestación cuya seguridad está en el hardware del dispositivo —Secure Enclave, TEE— y en la validación que hace el backend contra las raíces de Apple y Google, no en que el código sea difícil de leer.
./gradlew :signet:assembleSignetReleaseXCFramework
cd signet/build/XCFrameworks/release && zip -qr Signet-<v>.zip Signet.xcframework
swift package compute-checksum Signet-<v>.zip
Actualizar url y checksum en Package.swift, commitear, y crear el release con ese tag
adjuntando el zip. El tag es lo que resuelve SPM, así que el Package.swift correcto tiene que
estar commiteado antes de crearlo.