Skip to content

Feature/sdk54

yassine sabir a demandé de fusionner feature/SDK54 vers develop

Modifications de Compatibilité - Migration Expo SDK 53 → 54

Fichiers modifiés pour la compatibilité

  1. screens/innerApplication/geolocation/geolocationScreen.tsx Changement principal : Mise à jour des imports pour utiliser les nouveaux composants cross-platform Avant : Import direct de composants maps spécifiques Après : Import de PlatformMapsView et PlatformInAppNavigation pour la compatibilité cross-platform Raison : Les anciens composants n'étaient pas compatibles avec la nouvelle architecture React Native 0.81.4
  1. shared/components/maps/GoogleMapsView.tsx Changement principal : Ajout de la gestion conditionnelle des imports react-native-maps Avant : Import direct de react-native-maps sans vérification de plateforme Après : Import conditionnel avec if (Platform.OS !== "web") pour éviter les erreurs sur le web Raison : react-native-maps n'est pas compatible avec le web dans SDK 54
  1. shared/components/maps/PlatformMapsView.tsx Changement principal : Création d'un wrapper de sélection de plateforme Avant : N'existait pas Après : Composant qui sélectionne automatiquement GoogleMapsView ou WebMapsView selon la plateforme Raison : Nécessaire pour la compatibilité cross-platform avec SDK 54
  1. shared/components/maps/WebMapsView.tsx Changement principal : Implémentation web native avec Google Maps JavaScript API Avant : N'existait pas Après : Composant web utilisant l'API Google Maps JavaScript directement Raison : react-native-web-maps supprimé, remplacé par une implémentation native
  1. shared/components/maps/index.ts Changement principal : Ajout des exports pour les nouveaux composants Avant : Exports limités Après : Export de GoogleMapsView, WebMapsView, et PlatformMapsView Raison : Support des nouveaux composants cross-platform
  1. shared/components/navigation/InAppNavigation.tsx Changement principal : Ajout de la gestion conditionnelle des imports react-native-maps Avant : Import direct de react-native-maps et react-native-maps-directions Après : Import conditionnel avec vérification de plateforme Raison : Compatibilité avec la nouvelle architecture et support web
  1. shared/components/navigation/PlatformInAppNavigation.tsx Changement principal : Création d'un wrapper de sélection de plateforme Avant : N'existait pas Après : Composant qui sélectionne InAppNavigation ou WebInAppNavigation Raison : Support cross-platform pour la navigation
  1. shared/components/navigation/WebInAppNavigation.tsx Changement principal : Implémentation web native pour la navigation Avant : N'existait pas Après : Composant web utilisant Google Maps JavaScript API pour les directions Raison : Support web natif sans dépendances React Native

Problèmes de compatibilité résolus

  1. Suppression d'expo-permissions Problème : expo-permissions obsolète dans SDK 54 Solution : Utilisation des nouvelles APIs de permissions intégrées dans expo-location
  1. Incompatibilité react-native-maps sur le web Problème : react-native-maps ne fonctionne pas sur le web dans SDK 54 Solution : Implémentation conditionnelle avec Google Maps JavaScript API pour le web
  1. Nouvelle architecture React Native Problème : Changements dans l'architecture React Native 0.81.4 Solution : Mise à jour des patterns d'import et de la gestion des composants
  1. Gestion des dépendances cross-platform Problème : Certaines dépendances ne sont pas disponibles sur toutes les plateformes Solution : Imports conditionnels et composants spécialisés par plateforme

Ces modifications assurent que l'application fonctionne correctement sur toutes les plateformes (iOS, Android, Web) avec Expo SDK 54 tout en maintenant la fonctionnalité existante.

Rapports de requête de fusion