Ir al contenido

Inicio rápido de iOS

iOS 16+, Swift 5.9+, SwiftUI y UIKit.

  • Swift Package Manager: File → Add Package Dependencies → el paquete TryYourSize, producto TryYourSize.
  • CocoaPods: pod 'TryYourSize' (con el :path o el origen que te compartamos).

En Studio, añade ios-app://<tu bundle id> (en minúsculas, por ejemplo ios-app://com.brand.shop) a los sitios permitidos de tu tienda para el modo de prueba. Hasta que esté registrado, el botón devuelve app_not_allowed.

import TryYourSize
let tys = try TryYourSize(publishableKey: "pk_test_…") // una clave secreta lanza un error: guarda sk_ en tu servidor
// SwiftUI, donde estaba tu enlace "Size guide":
HStack {
Text("Size")
Spacer()
SizeGuide(client: tys, product: "SKU-123") { rec in
// Al mostrarse y en cada cambio. Preselecciona, pero nunca por encima de la elección del cliente.
if rec.status == .ready, let size = rec.size, !touched { selectedSize = size }
}
}
// UIKit
let guide = SizeGuideButton(client: tys, product: "SKU-123", variant: .button)
guide.onRecommendation = { rec in /* … */ }
// Sin botón
let rec = try await tys.recommendation(for: "SKU-123")
tys.present(product: "SKU-123") // abre la ventana tú mismo
tys.on { event in if case let .size(s) = event { select(s.size) } } // "Usar esta talla" en la ventana

Estados del botón: «Guía de tallas» (sin sesión iniciada) → «Calculando tu talla…» → «Tu talla: M» (con el punto de conectado), o «Guía de tallas · conectado». Los textos siguen locale (en, es, fr, de, it); label: te permite usar tu propio texto.

Recommendation: status (.ready, .computing, .noSize, .signedOut, .unavailable), size con tus etiquetas, studioSize, wearableSizes. El valor "none" del SDK web es .noSize en Swift. Una recomendación nunca inicia una simulación.

Por defecto (.inherit), el botón toma la fuente y el color de texto de SwiftUI, y la ventana toma los colores de texto y de fondo de tu app, modo oscuro incluido.

let config = TryYourSize.Configuration(appearance: Appearance(
colorPrimary: TYSColor(UIColor.systemIndigo), fontFamily: "Inter, -apple-system", borderRadius: 12,
fonts: [URL(string: "https://fonts.googleapis.com/css2?family=Inter:wght@400;600")!]))
let tys = try TryYourSize(publishableKey: "pk_test_…", configuration: config)
tys.appearance.colorPrimary = TYSColor(hex: "#111111") // en directo: una ventana abierta cambia de estilo al instante
  • Eventos (tys.on): .ready, .open, .close, .size(SizeSelection), .loadError(TryYourSizeError).
  • Códigos de error (TryYourSizeError.code): secret_key_in_app, invalid_key, invalid_app_identifier, invalid_option, window_unreachable, app_not_allowed, sign_in_cancelled, sign_in_unavailable.
  • Al deslizar la hoja hacia abajo, primero se consulta a la ventana: si hay medidas sin guardar, el cliente tiene que confirmarlo.

Los clientes inician sesión dentro de la ventana (correo electrónico y un código de 6 dígitos), una vez por app. Pronto se podrá iniciar sesión a través del navegador del sistema con llaves de acceso, compartiendo la sesión de tryyoursize.com del cliente.

¿Te ha resultado útil esta página?