web-dev-qa-db-fra.com

Le profilage de la mémoire ne fonctionne pas avec Xcode 9

J'utilise la dernière version de Xcode 9 et MacOS 10.13.

Lorsque j'essaie de créer un graphique de mémoire à partir de l'état actuel de mon application, un écran vide affiche No Selection.

 "No selection" title after trying to create a memory graph

J'ai également essayé de profiler et de travailler avec Instruments, mais cela ne m'a pas permis de fonctionner en raison d'une erreur d'autorisation.

La cible n'a pas pu être exécutée.

L'autorisation de déboguer [nom de l'application] a été refusée.

Je suis conscient de ces discussions et j'ai essayé les suggestions qui y figurent, mais elles n'ont pas semblé fonctionner:

Ce que j'ai essayé:

  • Redémarrage de Xcode
  • Vider le dossier de données dérivées
  • Nettoyage du projet
  • Nettoyage du dossier de construction
  • Modification de l'environnement d'application du schéma en Debug au lieu de Release
  • Gestion manuelle des profils d'approvisionnement et sélection des profils de développement pour le débogage et la libération
  • Essayer des simulateurs avec différentes versions de système d'exploitation (iOS 11, iOS 10)

On dirait que c'est un problème spécifique à Xcode 9.

Existe-t-il des solutions de contournement pour ce problème?

8
Tamás Sengel

La mise à jour de Xcode vers la version 9.2 a résolu ce problème pour moi.

0
Tamás Sengel

J'ai essayé de créer l'application sur un périphérique physique et cela a fonctionné, mais le graphe de mémoire ne montrait pas mes classes Swift (par exemple, mes contrôleurs n'y étaient tout simplement pas). L'observation de l'allocation a néanmoins bien fonctionné avec Instruments.

Il semble que ce soit un problème causé par le simulateur.

4
Tamás Sengel

Dans mon cas, la configuration de construction pour le profilage était définie sur Version au lieu de Debug dans le schéma. Après l'avoir changé, je n'ai plus qu'à profiler dans le simulateur.

J'espère que cela t'aides.

1
lucasl

Dans My Case, j’utilisais Xcode 9. Quand j’ai vérifié dans Xcode-> Préférences-> Emplacements-> Outils en ligne de commande = Xcode 8.3.3, je viens de passer de Xcode 8.3.3 à Xcode 9.0 et cela commence à fonctionner.

1
Ankit Vyas