Ir al contenido

Preguntas frecuentes sobre la migración del SDK de iOS

Esta página responde a las preguntas más frecuentes sobre la migración del SDK de Appboy para iOS heredado (también conocido como el SDK de Objective-C) al SDK Swift de Braze.


Soporte de versiones y fin de vida útil

¿El SDK de Appboy para iOS 4.7.0 ha llegado al fin de vida útil?

Sí, el SDK de Appboy para iOS 4.7.0 (y todas las versiones 4.x) ha llegado al fin de vida útil. No se proporcionan correcciones de seguridad ni correcciones críticas de errores. Aunque la mensajería y los análisis continúan funcionando con normalidad, la versión 4.7.0 debe considerarse como no compatible desde el punto de vista de la seguridad.

¿Cuál es la versión mínima del SDK de Swift para soporte en producción?

Las versiones principales actuales (16.x y posteriores) son el objetivo del soporte continuo, las correcciones de errores y las nuevas características. Las versiones menores anteriores pueden no recibir mantenimiento continuo.

Bibliotecas de compatibilidad

¿BrazeKitCompat y BrazeUICompat son compatibles para uso en producción con Swift SDK 17.x?

Sí, BrazeKitCompat y BrazeUICompat son compatibles para uso en producción durante la migración. Están diseñados como un “paso intermedio” de migración mínima para ayudarte a pasar del SDK de Appboy al Swift SDK con cambios mínimos de código, no como un destino a largo plazo. Si bien son formalmente compatibles y siguen recibiendo correcciones de errores, la intención es eventualmente migrar de estas bibliotecas de compatibilidad a las API modernas del Swift SDK.

¿Cuándo se eliminarán BrazeKitCompat y BrazeUICompat?

El equipo del Swift SDK tiene planes de descontinuar la biblioteca BrazeKitCompat, pero aún no se ha anunciado una fecha específica. Se recomienda planificar una migración completa a las API modernas del Swift SDK (BrazeKit, BrazeUI) en lugar de depender de las bibliotecas de compatibilidad de forma indefinida.

Inicialización diferida

Sí. El SDK de Swift admite la inicialización diferida, lo cual es útil para aplicaciones que necesitan esperar el consentimiento del usuario antes de iniciar el SDK. Llama a Braze.prepareForDelayedInitialization() (opcionalmente con un parámetro analyticsBehavior) de forma temprana en application(_:didFinishLaunchingWithOptions:), y luego inicializa el SDK más adelante llamando al inicializador estándar de Braze una vez que se haya obtenido el consentimiento.

Para una implementación detallada, consulta Configurar la inicialización diferida.

¿Cuál es la versión mínima del SDK de Swift necesaria para la inicialización diferida?

Swift SDK 11.2.0 es la versión mínima para la inicialización diferida. La robustez de push y vínculos profundos para la inicialización diferida se mejoró aún más en la versión 14.1.0. Swift SDK 17.0.0 supera ampliamente ambos umbrales.

¿Qué sucede con los eventos recibidos antes de que el SDK se inicialice?

Cuando el SDK se inicializa, los elementos en cola se procesan. Sin embargo, el comportamiento varía según el canal:

Paquetes de recursos e integración con SPM

¿Por qué veo un error en tiempo de ejecución sobre braze-swift-sdk_BrazeUI.bundle faltante?

Esto no es un error conocido del SDK y probablemente se deba a una configuración incorrecta de la integración. A partir de Swift SDK 12.0.0, los XCFrameworks estáticos incluyen recursos directamente en lugar de depender de paquetes de recursos externos.

¿Cuáles son los requisitos de SPM/Xcode/archivado para la incorporación de recursos?

A partir de Swift SDK 12.0.0, debes seleccionar Embed & Sign para los XCFrameworks de Braze en la configuración de tu proyecto de Xcode; esto se aplica tanto a las variantes estáticas como a las dinámicas. Esta es la causa raíz más común de errores por paquetes faltantes durante el archivado o la publicación.

¿Cómo puedo anular los paquetes de recursos para sistemas de compilación no estándar?

Para sistemas de compilación no estándar (Tuist, Bazel, Buck, CI), usa las API de anulación aprobadas:

  • BrazeKit.overrideResourcesBundle (nota el plural “Resources”)
  • BrazeUI.overrideResourcesBundle (nota el plural “Resources”)

El singular overrideResourceBundle quedó obsoleto en Swift SDK 8.1.0 y no debe usarse.

Identidad del usuario y tokens de notificaciones push

¿Existe una lista de verificación para preservar perfiles, asociaciones de dispositivos y tokens de notificaciones push?

No existe una lista de verificación oficial específica para migraciones en la documentación. Te recomendamos que realices los siguientes pasos de validación:

  1. Confirma que registerDeviceToken o la automatización de push esté configurada correctamente después de la migración.
  2. Verifica los recuentos de usuarios registrados para push en el panel antes y después del despliegue.
  3. Comprueba algunos ID externos específicos para confirmar que las asociaciones de dispositivos permanecen intactas.

¿changeUser garantiza que los tokens de notificaciones push sigan al nuevo usuario?

No existe una garantía explícita documentada por escrito. Sin embargo, la intención del diseño es que los tokens de notificaciones push sigan al dispositivo, no al usuario. Llamar a changeUser debería reasociar el token del dispositivo existente con el nuevo perfil de usuario. Debes probar changeUser, verificar en el panel y confirmar que el token aparece en el nuevo perfil antes de realizar un despliegue masivo.

New Stuff!