web-dev-qa-db-fra.com

Erreur de profil LLVM: échec de l'écriture du fichier "default.profraw": autorisation refusée

Je reçois le message d'erreur LLVM Profile Error: Failed to write file "default.profraw": Permission denied après l'exécution de tests unitaires sous Xcode. Je ne sais pas où Xcode essaie d'écrire ce fichier. 

Pour quel dossier dois-je accorder des autorisations?

49
Cloud9999Strife

Avait cet avertissement quand j'ai oublié d'activer la couverture de code:

 enter image description here

11
kasyanov-ms

Essayez de définir CLANG_ENABLE_CODE_COVERAGE = NO dans vos paramètres de construction pour la cible à tester et les tests eux-mêmes.

Edit : Veuillez voir la réponse de @ kasyanov-ms.

2
Coder256

Nettoyer mon dossier de construction a éliminé l'erreur pour moi. (Option-Shift-Command K.) J'utilise Xcode version 9.2 (9C40b). L'erreur s'est produite lorsque j'ai ajouté un ensemble d'images à mes Assets.xcassets. Après un nettoyage complet, l'erreur a disparu.

1
John Pavley

Xcode 11 beta 1:

Il s'agit d'un problème connu lorsque vous essayez d'utiliser la couverture de code par rapport aux cibles du simulateur. Vous devez utiliser une version bêta ultérieure ou utiliser une couverture sur un périphérique physique.

0
Sirens

La solution à cela pourrait être très simple: assurez-vous que votre test (la méthode de votre classe XCTestCase) est nommé correctement! Selon la documentation d'Apple, le test doit avoir un préfixe "test". Si vous créez un test sans respecter les conventions de dénomination, vous recevrez l'erreur LLVM que vous avez mentionnée. 

A titre d'exemple, j'ai eu un test appelé "ClassifierTest ()", qui m'a donné cette erreur lorsque j'ai cliqué sur le bouton "play" pour la classe. Ce qui m'a fait comprendre, entre autres choses, c'est qu'il n'y avait pas de bouton "Lecture" à côté du test lui-même (car il ne l'a pas reconnu comme test valide car il n'avait pas été nommé correctement). Le changer en testClassifier () a résolu le problème.

Voici ce que disent les docs d'Apple:

Une méthode de test est une méthode d'instance d'une classe de test commençant par le test de préfixe, ne prend aucun paramètre et retourne void

J'espère que cela aide quelqu'un à gagner du temps!

0
Gene Loparco

Cela n’est peut-être utile pour personne d’autre, mais j’ai été touché lorsque j’avais placé une exit(EXIT_FAILURE) dans mon code lors de la refactorisation d’un morceau de code. J'avais supposé que la mettre dedans planterait l'application juste là et me montrerait qu'elle s'était écrasée là-bas, mais au lieu de cela, cela me donnait cette erreur et ne montrait pas où elle s'était écrasée.

0
EndersJeesh

Xcode 10+

Activer la couverture de code pour le schéma de test.

 enter image description here 

0
muhasturk