Comment résoudre plusieurs conflits CMMotionManager dans iOS?
-
29-10-2019 - |
Question
Je souhaite créer une classe UIView personnalisée (une lib statique) pour certains développeurs d'applications. J'ai créé l'instance CMMotionManager dans mon code. J'ai constaté que si un développeur d'applications crée également l'instance CmotionManager dans son code, l'une de nos instances CMMotionManager ne gèrera pas les valeurs gyro / accéléromètre. Je me rends compte que l'UIWebView peut obtenir ces valeurs (par exemple, code javascript: window.ondEviceMotion = function (e) {...}) Pendant que l'application les obtient, je pense qu'il pourrait y avoir un moyen d'éviter ce conflit. Des idées sur la façon d'éviter ce conflit?
La solution
Comme pour le gestionnaire de cllocation, vous ne devriez implémenter qu'une seule instance de cmmotionManager par application, je recommanderais de créer une classe singleton et d'accéder à votre cmmotionManager à partir de là, voir cet article
CMMotionManager est une ressource globale? Que cela veut-il dire?