iPad + Healthkit + App Extension = Problème !!

Agaçant, ça...

Bonjour à tous,

Un article un peu technique, mais c'est pour la bonne cause, le problème m'a fait perdre 2 jours de ma vie, si je peux vous éviter le même calvaire, non non, ne me remerciez pas.

Mon problème est le suivant : je tente de publier sur l'App Store une app iPhone qui contient une App Extension - en l'occurence un 3rd party keyboard.
Tiens, j'ai envie de tester HealthKit dans ce clavier - ne me demandez pas pourquoi, svp ;) Donc crac, on ajoute HealthKit aux Capabilities.
Jusque là, tout va bien.
Je teste sous iPhone - ça marche.
Je soumets sur l'App Store une nouvelle version - ça marche.

Mais là, patatra, Apple me la refuse. Les gredins.
Leur argument - forcément fallacieux : votre clavier n'apparait pas dans la liste des claviers sur iPad.

Et le pire, c'est qu'ils ont raison : clavier invisible dans la liste sur iPad, mais bien présent sur iPhone.

Je vous passe les détails de la recherche de bugs - longs, douloureux - pour finalement trouver le fautif : Healthkit.

Ben oui, comme dit Apple :
Both HealthKit and the Health app are unavailable on iPad. The HealthKit framework cannot be used in an app extension.
https://developer.apple.com/library/watchos/documentation/HealthKit/Reference/HealthKit_Framework/index.html 

Le comportement bizarre, c'est que le compilateur ne râle pas, l'appli présente bien le clavier sur iPhone, mais il disparait sur iPad.

J'ai retiré Healthkit, mes ennuis étaient finis.

Et voilà le travail ;)
Latest
Previous
Next Post »