"Le fichier" MyApp.app "n'a pas pu être ouvert car vous n'êtes pas autorisé à le voir" lors de l'exécution de l'application dans Xcode 6 Beta 4

273

Chaque fois que j'essaie d'exécuter mon application dans Xcode 6 Beta 4, j'obtiens l'erreur:

The file "MyApp.app" couldn't be opened because you don't have permission to view it.

Cette erreur apparaît quel que soit le simulateur ou l'appareil que je cible.

J'ai essayé:

  • Suppression de toutes les données dérivées de l'organiseur dans Xcode
  • Réparation des autorisations sur mon disque
  • Élever manuellement les autorisations du MyApp.app intégré
  • Redémarrer mon ordinateur

Quelqu'un d'autre a-t-il rencontré ce problème et trouvé une solution?

Capture d'écran

drewag
la source
1
J'obtiens le même problème avec XCode 6.1. Au début, le problème ne concernait que le simulateur, maintenant, après avoir suivi quelques pistes dans ce post, j'ai également la même erreur en exécutant mon téléphone cible.
Bamaco
1
J'ai suivi la solution @YuAn. Cela fonctionne très bien pour le simulateur. Merci Mais quand j'essaye de le construire sur l'appareil, je reçois toujours le message disant "Je n'ai pas la permission de le voir". Le fichier myapp.app dans le répertoire des produits dans xcode et également dans le répertoire des données dérivées s'affiche bloqué même après avoir tenté de créer après avoir supprimé le contenu des données dérivées.
Srinivasan N
4
Une autre façon (stupide) de déclencher ce problème: compilez une application avec uniquement des ressources et aucun fichier source. Ne me demandez pas comment je le sais :)
Krumelur
4
Produit> Nettoyer résoudre ce problème pour moi
mazorati
Dans mon cas, rien de tout cela n'a fonctionné !! Une fois que je supprime le fichier pilst de Xcode et l'attache à nouveau avec le projet, cela fonctionne comme un charme !! J'espère vous aider les gars !!
Ravi

Réponses:

252

J'utilise Xcode6 GM. J'ai rencontré le même problème. Ce que j'ai fait était d'aller dans Paramètres de construction -> Options de construction. J'ai ensuite changé la valeur du "Compilateur pour C / C ++ / Objective-C" en Compilateur par défaut.entrez la description de l'image ici

YuAn Shaolin Maculelê Lai
la source
146

Vous rencontrez également le problème sur DEVICE (pas seulement sur le simulateur)?


Les autres solutions ne l'ont corrigé que pour moi sur simulateur, pas sur appareil.

Pour moi, ce problème s'est produit (dans Xcode 6) lorsque j'essayais de modifier les principales propriétés info.plist tout en essayant de changer le nom de mon application.

Dans info.plist, j'avais changé de Executable Filenom pour autre chose que le nom par défaut ${EXECUTABLE_NAME}...

J'avais confondu ce champ avec le champ qui change le nom de l'application sous l'icône sur le tremplin.

Albert Renshaw
la source
10
Dans mon cas, cela a fonctionné merci. J'avais changé d'autres champs similaires dans mon fichier <appname> -Info.plist, et une fois que j'avais changé le fichier exécutable en $ {EXECUTABLE_NAME} comme vous l'avez suggéré, il a été créé et exécuté.
Slowburner
Merci ... C'était mon cas
Bala Vishnu
Merci beaucoup @Albert Renshaw, vous avez répondu à mon problème. Je cherche une solution pour cela depuis deux jours.
Nilesh Kikani
Même problème, le nom du champ est "Bundle display name" pour changer le nom sous l'icône
WebOrCode
1
Cela m'a conduit à ma solution, à savoir que j'avais obtenu un Info.plist supplémentaire lorsque j'ai inclus la source d'une bibliothèque externe dans mon code, et qu'ils avaient un Info.plist dans leur dossier de groupe d'actifs. La suppression de cette Info.plist supplémentaire a résolu mon problème.
chadbag
145

Dans Xcode, procédez comme suit

Fenêtre -> Organiseur -> Projets -> L'application avec le problème -> bouton Supprimer dans les données dérivées.

J'ai ensuite nettoyé le projet et le tour est joué

travaux

À M
la source
J'ai suivi la solution @YuAn. Cela fonctionne très bien pour le simulateur mais quand j'essaye de le construire sur l'appareil, je reçois toujours le message disant 'Je n'ai pas la permission de le voir'. Le fichier myapp.app dans le répertoire des produits dans xcode et également dans le répertoire des données dérivées s'affiche bloqué même après avoir tenté de créer après avoir supprimé le contenu des données dérivées. Une idée de ce qui a mal tourné?
Srinivasan N du
cela a fonctionné pour moi MAIS cela continue de se produire. Je ne peux pas supprimer continuellement les données dérivées chaque fois que je veux exécuter l'application dans le simulateur ...
zumzum
Je suis confronté au même problème essayé diverses solutions mais n'a pas fonctionné pour moi .. L'aide sera appréciée
Giriraj.Mulay
53

Pour moi, un produit simple -> Clean a très bien fonctionné

SleepsOnNewspapers
la source
45

Je l'ai corrigé en nettoyant un dossier de construction. Je suis juste allé dans le menu «Produit» et Option + Cliquez sur «Nettoyer». Après cela, un problème a été résolu.

yury.ku
la source
30

Il y a eu un problème avec Info.plist du projet. J'ai créé un nouveau projet avec le même nom dans Xcode 6 beta 4, puis j'ai remplacé l'Info.plist du projet réel par le nouveau. Le projet s'est ensuite construit et s'est bien déroulé.

Regardez le diff, il semble que le plist se soit en quelque sorte mélangé avec le plist d'un terrain de jeu. L'identifiant du bundle était "com.apple.dt.playground.iOS-18300-13" et les noms des exécutables et des bundles étaient "iOS" avec quelques autres bizarreries.

C'est la différence complète au cas où quelqu'un en aurait besoin pour référence:

        <key>CFBundleDevelopmentRegion</key>
        <string>en</string>
        <key>CFBundleExecutable</key>
-       <string>iOS</string>
+       <string>${EXECUTABLE_NAME}</string>
        <key>CFBundleIdentifier</key>
-       <string>com.apple.dt.playground.iOS-18300-13</string>
+       <string>com.myCompany.${PRODUCT_NAME:rfc1034identifier}</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundleName</key>
-       <string>iOS</string>
+       <string>${PRODUCT_NAME}</string>
        <key>CFBundlePackageType</key>
-       <string>AAPL</string>
+       <string>APPL</string>
        <key>CFBundleShortVersionString</key>
        <string>1.0</string>
-       <key>CFBundleSupportedPlatforms</key>
-       <array>
-               <string>iPhoneSimulator</string>
-       </array>
+       <key>CFBundleSignature</key>
+       <string>????</string>
        <key>CFBundleVersion</key>
        <string>1</string>
-       <key>DTPlatformName</key>
-       <string>iphonesimulator</string>
-       <key>DTSDKName</key>
-       <string>iphonesimulator8.0</string>
-       <key>LSBackgroundOnly</key>
-       <true/>
        <key>LSRequiresIPhoneOS</key>
        <true/>
+       <key>UIMainStoryboardFile</key>
+       <string>Main</string>
        <key>UIRequiredDeviceCapabilities</key>
        <array>
                <string>armv7</string>
        </array>
+       <key>UISupportedInterfaceOrientations</key>
+       <array>
+               <string>UIInterfaceOrientationPortrait</string>
+               <string>UIInterfaceOrientationLandscapeLeft</string>
+               <string>UIInterfaceOrientationLandscapeRight</string>
+       </array>
 </dict>
 </plist>
drewag
la source
oui, j'ai eu un problème similaire. Le fichier Info.plist était au format de fichier binaire. J'ai dû le convertir
Luca Torella
28

J'ai eu cette même erreur dans Xcode 8.2. La raison pour laquelle je l'ai découvert pour moi, un autre Info.plist est ajouté dans mon projet lors de l'ajout de la bibliothèque (copie manuelle).

Alors que Xcode devient confus pour avoir sélectionné Info.plist correct .

Je viens de supprimer ce Info.plist de la bibliothèque ajoutée.

Ensuite, cela fonctionne bien sans aucune alerte de permission.

Antony Raphel
la source
Vous pouvez également changer le nom d'Info.plist en FRAMEWORK_NAME_HEREInfo.plist
Jeremy Kelleher
La même chose ici, copie d'un autre projet
Firas Shrourou
C'est exactement mon problème. J'ai ajouté un autre dossier de fichiers rapides et il y avait un fichier plist dedans. J'ai supprimé ce fichier plist et tout va bien .. Merci!
Lkabo
17

Veuillez vérifier si vous avez changé le fichier exécutable => $ (EXECUTABLE_NAME) en un autre nom. Si vous avez changé ce nom, il affiche cette erreur. Veuillez le remplacer par $ (EXECUTABLE_NAME).

Pratik Patel
la source
Oui, cela m'est arrivé en essayant de changer le nom de l'application. Le développeur de la saison vient donc d'entrer dans la liste distraitement et a changé "Fichier exécutable" alors qu'en réalité je veux changer "Nom du
bundle
Cela m'a corrigé. C'est arrivé après avoir renommé mon projet. Merci.
emiliomarin
14

Produit -> Clean (commande shift K) l'a corrigé pour moi

James Zatsiorsky
la source
Bon rappel que parfois la solution simple est celle qui fonctionne.
Pescolly
Un redémarrage propre et Xcode était requis ici sous Xcode 7.2.1. Le nettoyage seul m'a fait passer à une "erreur inconnue" sans aucune tentative de construction.
Tommy
13

Mon Dieu!! J'ai passé des heures à résoudre ce problème.

Sur XCode 7.3, j'avais un projet sans problème.

Erreur que j'ai faite

Je viens d'ajouter des dossiers physiques et d'y déplacer mes fichiers, le problème a commencé.

J'ai tout essayé

  • Compilateur par défaut
  • Nettoyer et construire
  • Réinitialiser le simulateur et redémarrer le simulateur, Xcode, iPhone et même mac
  • Info.plist mis à jour
  • Suppression de données dérivées
  • Modification de l'autorisation sur le dossier du projet
  • Vérification de mes architectures

rien n'a fonctionné :(

Comment j'ai résolu

J'étais sur le point de créer un nouveau projet, puis j'ai supprimé les dossiers physiques que j'ai ajoutés, nettoyez la construction et OUI !!

Ça marche!!

entrez la description de l'image ici

swiftBoy
la source
1
YUP c'était aussi pour moi.
yeahdixon
cela m'a aidé. mais je pensais pouvoir utiliser la référence de dossier. étrange.
user1105951
13

Essayez "cmd + shift + k" pour nettoyer le projet et reconstruire. Au moins ça a marché pour moi

One Eyed Raven
la source
11

J'ai eu un problème similaire (xCode 6.2) pour un exemple de code téléchargé. J'ai essayé de jeu Executable Namepour , Default in Info.plistmais cela n'a pas fonctionné.

Changer la place du compilateur C / C ++ / Objective-C au compilateur par défaut (Apple LLVM 6.0) au lieu de compilateur non prise en charge (de com.apple.compilers.llvmgcc42) pour le projet.

Capture d'écran

Jayprakash Dubey
la source
@iOSRocks: Bienvenue mon pote!
Jayprakash Dubey
10

1) Allez d'abord créer des options.

2) Ensuite, la valeur du "Compilateur pour C / C ++ / Objective-C" a été remplacée par Compilateur par défaut.

propre et fonctionnel :-)

Waseem Shah
la source
1
Pour l'éclaircir: 1. Allez dans Paramètres de construction (choisissez tout et combiné ) 2. Recherchez les options de construction 3. Définissez le compilateur pour C / C ++ / Objective-C sur Compilateur par défaut
nburk
Pourquoi les gens votent-ils pour cette copie de la réponse la mieux notée?
Kiran
10

Parfois, l'ouverture d'un ancien projet dans une nouvelle version Xcode obtiendra ce message.

Accédez à Issue navigator et suivez l'avertissement «Upate to reconmmented settings».

Boum, magique!

ManuQiao
la source
10

J'ai trouvé que changer mon compilateur en LLVM 6.0 dans les options de build était suffisant pour moi (xcode 6.1)

entrez la description de l'image ici

SleepsOnNewspapers
la source
10

J'ai eu la même erreur sur mon Xcode 6.1.1 pour un projet téléchargé depuis gitHub qui a été validé il y a 4 ans. Pour moi, définir Architectures à la valeur par défaut Les architectures standard (armv7, arm64) et Compilateur pour C / C ++ / Objective-C sur Compilateur par défaut dans les paramètres de construction ont fonctionné.

Zeeawan
la source
9

J'ai récemment rencontré le même problème pour exécuter un ancien projet (initialement créé dans Xcode 4.x) dans Xcode 6.0.1.

J'ai résolu le problème en changeant les architectures dans les paramètres de construction à la valeur par défaut, qui est « architectures standard (armv7, arm64) ».

J'espère que cela pourrait aider toute personne ayant des problèmes similaires :)

HunTer DRF
la source
Cette réponse doit être marquée comme la bonne @drewag
Fede Cugliandolo
il semble qu'il y ait différents problèmes derrière ce message d'erreur cryptique, de toute façon c'est ce qui a résolu mon ptoblem avec XCode 6.1
Fabio Napodano
9

J'ai eu cette erreur avec un certain nombre de mes anciens projets que je sors du placard pour mettre à jour. Il semble que l'utilisation de Xcode 6 avec un code plus ancien semble provoquer cela pour une raison quelconque.

J'ai corrigé cela dans tous les projets avec lesquels j'ai fait cela en:

  1. Supprimer les données dérivées
  2. dans le produit: faire un nettoyage
  3. allez dans Build Settings dans le projet Target et allez dans Build Options et changez la valeur du "Compiler for C / C ++ / Objective-C" en ' Default Compiler '.
idmean
la source
9

J'ai eu le même problème dans mon projet. Plus tard, j'ai découvert que le fichier tiers ( fmdb pour SQLite) utilisé dans le projet contenait Info.plist .

La suppression du fichier Info.plist a fonctionné pour moi!

Info.plist

Jayprakash Dubey
la source
A aussi fonctionné pour moi.
mkll
9

Mon application fonctionnait bien sur XCode 9.4, mais lorsque j'ai ouvert mon projet dans XCode 10, je rencontrais ce problème. Pour moi, le problème était le paramètre de construction. J'ai trouvé la réponse sur cette page https://forums.developer.apple.com/thread/112141 .

En bref, allez dans Fichier> Paramètres de l'espace de travail…> Build System et changez-le en "Legacy Build System"

informatiker
la source
8

Eh bien dans mon cas, je renomme simplement les valeurs Bundle Nameet Executable fileen info.plistmême temps que le nom du projet. Ça a marché pour moi.

Ans
la source
8

J'ai essayé toutes les réponses énumérées et aucune n'était utile. Le problème était dû à l'existence d'un autre fichier plist lié à partir d'un sous-module via des cocoapods. Heureusement, c'était mon propre module, donc je viens de supprimer cette liste du projet de sous-module et de réinstaller les pods.

Solution

Plus tard, j'ai compris que la clé du problème était au nom de ce deuxième plist: simplement info.plist. Vous pouvez renommer le fichier et le relier via une sourcessection d'un sous-module

Ce deuxième fichier plist avait un nom unique, donc Xcode n'était pas censé devenir frustré. Même mes paramètres cibles pointaient sur un plist principal, pas sur un info.plist. On dirait que Xcode prend des considérations spéciales à propos de ce nom

Le bogue reproduit dans Xcode 6.4 et Xcode 7.0

Tim
la source
Une chose similaire m'est arrivée. Mon Info.plist n'était pas configuré correctement, donc XCode a pris le premier Info.plistqu'il a trouvé dans le dossier du projet, qui appartenait à une dépendance non liée.
Ohad Schneider
Dieu merci, vous venez de m'économiser des heures de débogage Xcode inutile '
Alex
6

J'ai eu ce problème similaire. D'une certaine manière, ma valeur pour le fichier exécutable clé s'est mélangée. Modifiez-le simplement en $ {EXECUTABLE_NAME} (sous votre projet> Info). A travaillé pour moi!

Vipère
la source
1
Une chose à noter, c'est que le mien a été défini sur $ (EXECUTABLE_NAME) et sa mise à jour sur $ {EXECUTABLE_NAME} a résolu le problème pour moi.
Eric
5

Je ne sais pas si le problème est lié mais cela peut être une solution pour quiconque tire les cheveux comme moi.

Dans mon cas, j'ai un projet avec beaucoup de cibles. Chaque cible est une personnalisation de ce projet de base qui est un Cocoa Touch Static Libraryet les objectifs, Applications. Même si le mainfichier est ajouté dans la compilation de la bibliothèque, mais pas dans chaque cible, ce message d'erreur apparaît. Alors qu'est-ce que j'ai fait? Ajouté manuellement le mainfichier à chaque cible de la Compile Sourcessection et du bingo, tout va bien.

Gustavo Barbosa
la source
Merci, cela a beaucoup aidé.
JakeP
5

Pour moi, l'erreur était dans le fichier .plist à la clé CFBundleExecutable. J'avais renommé l'exécutable en supprimant un espace entre deux mots. (Par exemple: de "Wild Racer" à "WildRacer"). A pris 1 jour pour le repérer !!

Xcode est tellement inutile dans le débogage!

jeddi
la source
4

Dans mon cas, main.m contenant la fonction principale (...) n'était pas contenue dans la liste des "Sources de compilation" dans "Phases de construction". Pour vérifier si c'est le cas, entrez dans Build Phases et regardez si votre main.m apparaît dans la liste "Compile Sources".

Awsed
la source
1
Je ne sais pas comment vous avez découvert cela, et ce n'était pas mon problème exact, mais cela m'a conduit à la solution, MERCI !!
Ri_
3

Ce qui a résolu cela pour moi, c'était de définir Build Active Architecture Only de No à Yes .

Misha
la source
3

avec le code X 6.3.2

Options [Paramètres de construction]. [Tous] - [Options de génération] - [Compilateur pour C / C ++ / Objective-C] - [Compilateur par défaut (Apple LLVM 6.1)]

Reconstruisez ensuite le projet et il fonctionne correctement.

Bruce
la source
2

Dans mon cas, cela a aidé à fermer Xcode, à réparer les autorisations avec l'utilitaire de disque. Ce n'est qu'après un redémarrage que cela a fonctionné comme un charme.

Markus Zeller
la source
J'ai eu ce problème après avoir mis à jour OSX aujourd'hui. Cela l'avait réglé en moins d'une minute.
tonyedwardspz
2

Comme j'ai également rencontré ce problème aujourd'hui matin et aucune des réponses ne m'a aidé, en particulier dans mon cas. Et après avoir essayé pendant des heures, j'ai compris le problème.

En fait, tout en travaillant dans le storyboard par erreur, je viens de renommer mon " Main.storyboard " en " .storyboard " et de le changer de nouveau en " Main.storyboard " a résolu mon problème.

SOLUTION (selon mon problème) : Vous avez peut-être renommé un fichier en raison duquel xcode n'a pas pu le charger et a soulevé un problème. Par exemple: comme mentionné ci-dessus, le cas de la modification du nom du " fichier exécutable "
Problème possible: il peut s'agir des derniers fichiers dans lesquels vous travailliez.

rahulchona
la source