Repository navigation
⚠️ Breaking Changes importantes
A versão 2.0.0 do DitoSDK introduz mudanças que podem quebrar integrações existentes. Leia atentamente e siga os passos de migração abaixo para evitar quebras no seu app (para mais detalhes leia o guia de migração):
-
API de registro de dispositivo: os métodos que aceitavam
tokenTypeforam removidos/deprecados.- Antes:
Dito.registerDevice(token: fcmToken, tokenType: .firebase) - Agora:
Dito.registerDevice(token: fcmToken) - Ação: Remova o parâmetro
tokenTypeem todas as chamadasregisterDeviceeunregisterDevice.
- Antes:
-
Ordem de inicialização do Firebase (iOS 18): é obrigatório configurar o Firebase e definir o token APNS antes de solicitar o token FCM para evitar o erro "APNS device token not set before retrieving FCM Token".
- Ação: No
AppDelegate, chameFirebaseApp.configure()primeiro, depoisMessaging.messaging().delegate = self, e em seguidaDito.shared.configure(). EmdidRegisterForRemoteNotificationsWithDeviceTokenatribuaMessaging.messaging().apnsToken = deviceTokenantes de chamarMessaging.messaging().token { ... }.
- Ação: No
-
CoreData (iOS 16+): várias APIs internas foram alteradas para garantir thread-safety e executar operações em background.
- Ação: Não acesse diretamente contexts do CoreData em background fora das APIs públicas do SDK; verifique chamadas customizadas que manipulam o
viewContext.
- Ação: Não acesse diretamente contexts do CoreData em background fora das APIs públicas do SDK; verifique chamadas customizadas que manipulam o
Checklist rápido de migração:
- Atualize o Podfile para usar DitoSDK 2.0.0+ e rode
pod update DitoSDK. - Remova qualquer uso de
tokenTypenas chamadasregisterDevice/unregisterDevice. - Ajuste a ordem de inicialização no
AppDelegateconforme descrito acima. - Verifique
Info.plist(chavesApiKey,ApiSecret,CFBundleVersion) e oGoogleService-Info.plist. - Rode os testes de compilação e verifique logs de token APNS/FCM.
Consulte MIGRATION_GUIDE.md para instruções completas e exemplos de código.