La pomme de la discorde : correctif applications mobiles iOS6

applebug

L’arrivée fin Septembre du nouvel iPhone 5 et du système d’exploitation l’accompagnant iOS6 ne semblait pas avoir apporté de changements majeures pouvant mettre en péril la stabilité de nos applications.

Et de changements majeurs il n’y en a eu aucun, cependant un minuscule changement est venu se glisser et par effet boule de neige a empêché nos application passager et chauffeurs de fonctionner correctement pour nos usagers ayant effectué une mise à jour vers iOS6.

Ces dysfonctionnements se manifestaient de la manière suivante :

  • impossibilité pour le passager de voir ses cartes bancaires enregistrées et donc de demander une réservation,
  • impossibilité pour les chauffeurs de changer leur bouton de disponibilité sur l’accueil de l’application.

Au terme d’une traque intensive (4 détectives privés, 28 litres de café, 42 interrogatoires « musclés »), l’identification de la cause de ces dysfonctionnements au eût lieu jeudi 18 octobre à 9h00 et une mise à jour corrective a été appliquée sur notre serveur jeudi 18 octobre à 10h30, la situation est depuis revenue à la normale.

Nous veillons à ce que la qualité de nos applications soit la meilleure possible, aussi nous vous prions d’accepter nos excuses pour le désagrément causé.

Si vous avez été touché(e) par ce problème, une simple action est nécessaire de votre part

Allocab Passager

  • Sur l’écran d’accueil du iPhone, sélectionnez l’icone « Réglages », puis sélectionnez « Safari » et enfin cliquez sur « Effacer cookies et données »,
  • votre application fonctionne à nouveau.

Allocab Driver

  • Désinstallez l’application (appuyez longuement sur l’icone Allocab puis quand elle se mets à trembler, appuyez sur la croix),
  • ré-installez l’application à partir de l’App Store.

Les raisons techniques du dysfonctionnement
Les applications mobiles Allocab utilisent PhoneGap pour fonctionner sur l’ensemble des plateformes mobiles, les communications entre ces applications et le serveur Allocab sont effectuées par des appels Ajax sur HTTPS en utilisant la méthode POST.

Depuis iOS6, les appels Ajax en POST sont mis en cache automatiquement sauf mention contraire de la part du serveur (contrairement à la spécification qui prône la non mise en cache d’un appel en POST sauf mention contraire de la part du serveur).

  • Si vous rencontrez ce problème, il existe deux solutions différentes pour résoudre ce problème :
  • ajouter un paramètre Timestamp à vos appels afin d’éviter la mise en cache par iOS,
  • ajouter à vos en-têtes HTTP retournées par votre serveur une en-tête « Cache-control:no-cache ».

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *