Lors de l'exécution de mon projet (qui n'utilise même pas MapKit
), ma console est spammée avec plus d'une centaine d'avertissements en double de classe:
objc [6377]: la classe ___MKPlaceBusinessInfoItemAccessibility_super est implémentée dans les deux /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Resources/ Library/AccessibilityBundles/MapKit.axbundle/MapKit (0x12f128f00) et /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Contents Système/Bibliothèque/AccessibilityBundles/VectorKit.axbundle/VectorKit (0x12f2187b0). Un des deux sera utilisé. Lequel n'est pas défini.
Ces avertissements étaient absents avec Xcode 9.0.0 , je ne suis que expérience sur Xcode 9.0.1 et supérieur .
Je suis conscient qu'il s'agit d'un bug et j'ai trouvé un radar qui concerne ce problème. Existe-t-il un moyen de désactiver ces avertissements sans affecter la visibilité des autres avertissements du SDK?
Il s'agit en fait d'un bogue dans le cadre iOS actuel et n'a rien à voir avec quoi que ce soit dans votre application, le cache de module, les bibliothèques, etc. La raison pour laquelle cela semble non déterministe est qu'il n'est là que lorsque la couche d'accessibilité est active, ce qui ce n'est pas sur le simulateur, sauf dans des circonstances très spécifiques. Les trois que je connais:
Pour que cela disparaisse, vous devez:
Chaque fois que vous effectuez l'un de ces deux derniers points, vous devrez effacer à nouveau les données ...
Le problème principal est que MapKit et VectorKit sont tous deux liés aux bundles d'accessibilité de base, mais apparemment ne l'ont pas fait de manière dynamique, de sorte que ces bundles sont inclus dans les deux modules. De tels avertissements sont ignorés en toute sécurité, bien que très verbeux et frustrant.
Malheureusement, il n'y a pas d'autre solution pour cela ... vous pourriez peut-être télécharger une ancienne version du simulateur si vous n'avez pas besoin des fonctionnalités d'iOS 11. Ou tout simplement ne pas exécuter de tests instrumentés/Inspecteur d'accessibilité/VoiceOver/J'espère qu'ils corrigent bientôt!
Vous avez le même problème sur 9.0.1.
rm -rf ~/Library/Developer/Xcode/DerivedData/ModuleCache
.Ce problème a été résolu pour moi.
Je ne me soucie pas de l'accessibilité dans le simulateur, je viens de renommer l'un des fichiers en double pour qu'il ne soit pas trouvé:
mv /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/AccessibilityBundles/MapKit.axbundle/MapKit /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/AccessibilityBundles/MapKit.axbundle/MapKit_
lol
La réinitialisation du simulateur iOS a résolu ce problème pour moi. Simulateur -> Matériel -> Effacer tout le contenu et les paramètres ...
Exactement le même problème, dans mon cas, j'ai essayé de supprimer tous les fichiers du dossier DerivedData, mais ne fonctionnait toujours pas.
Et plus tard, j'ai découvert que si je passais à un autre type de simulateur, par exemple, passer de "iPhone 8" à "iPhone 8 plus", l'avertissement disparaîtrait.
Donc, supprimez simplement le simulateur "iPhone 8" de la liste des simulateurs, puis ajoutez à nouveau le simulateur "iPhone 8", cela fonctionne.
Je ne sais pas si le problème va se reproduire, car c'est aussi ma troisième fois que je traite de cela.
Comme vous pouvez le voir, il y a un problème avec CoreSimulator
de /Applications/Xcode.app
. Apple Xcode Developer a défini ce symbole à la fois dans MapKit
et VectorKit
, ce qui est l'erreur fondamentale.
Vous ne pouvez pas modifier Xcode, donc seul le personnel d'Apple peut le résoudre.
Juste arrêtez de perdre votre temps, sauf retombant sur Xcode 9.
Résolu!
-Sur simulateur --Matériel ---- Effacer tout le contenu et les paramètres -Fermez xcode et les simulateurs -Retirez le contenu de ~/Library/Developer/Xcode/DerivedData/ModuleCache -Start xcode ...
Mon cas est un peu différent: j'ai rencontré ce problème lors de l'exécution de XCUITest. Après le lancement du processus XCUITest, l'application cible se bloque au lancement. Cependant, après avoir supprimé tous les proxys Web, ce problème est résolu!