web-dev-qa-db-fra.com

"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

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

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 le périphérique 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 lecteur
  • Élévation manuelle des autorisations du MyApp.app construit
  • Redémarrer mon ordinateur

Quelqu'un at-il rencontré ce problème et trouvé une solution?

Screenshot

252
drewag

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

Regardez le diff, il semble que le pliste pourrait avoir été mélangé avec le plist d'un terrain de jeu. L'identifiant de l'ensemble était "com.Apple.dt.playground.iOS-18300-13" et les noms des exécutables et des ensembles étaient "iOS" avec quelques autres curiosités.

Ceci est la diff 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>
27
drewag

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

252

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

146
Tom

Avoir le problème sur DEVICE aussi (pas seulement sur le simulateur)?


Les autres solutions ne le réparaient que pour moi sur simulateur, pas d'appareil.

Pour moi, ce problème est survenu (sous Xcode 6) lorsque j’essayais de changer le info.plist propriétés tout en essayant de changer le nom de mon application. 

Dans info.plist J'avais changé le nom Executable File en un nom autre que celui par défaut ${EXECUTABLE_NAME}...

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

139
Albert Renshaw

Pour moi, un simple Produit -> Nettoyer a bien fonctionné

52
SleepsOnNewspapers

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.

46
yury.ku

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

Pour que Xcode soit confus en sélectionnant le correct Info.plist

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

Ensuite, cela fonctionne bien sans aucune alerte de permission. 

25
Antony Raphel

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

18
Pratik Patel

Produit -> Propre (commande shift K) corrigé pour moi

14
James Zatsiorsky

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

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

Erreur je l'ai fait

_ {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éinitialisation du simulateur et redémarrage du simulateur, Xcode, iPhone et même mac
  • Info.plist mise à jour
  • Suppression des données dérivées
  • Modification de l'autorisation sur le dossier du projet
  • Vérifier mes architectures

rien n'a fonctionné :(

Comment j'ai résolu

J'étais sur le point de créer un nouveau projet et ensuite je ai supprimé ceux physiques dossiers J'ai ajouté, nettoyer la construction et YESS !!

Ça marche!!

 enter image description here

13
swiftBoy

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

12
Gellert Li

J'avais un problème similaire (xCode 6.2) pour l'exemple de code téléchargé. J'ai essayé de définir Executable Name sur Default in Info.plist mais cela n'a pas fonctionné. 

À la place, remplacez Compilateur pour C/C++/Objective-C en Compilateur par défaut (Apple LLVM 6.0) au lieu de Compilateur non supporté (com.Apple.compilers.llvmgcc42) pour le projet.

Screenshot

11
Jayprakash Dubey

Parfois, ouvrir un ancien projet dans la nouvelle version de Xcode recevra ce message.

Allez dans le navigateur de problèmes et suivez les instructions de l'avertissement 'Upate to reconmmented settings'.

Boom, magique!

10
ManuQiao

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

2) Ensuite, changez la valeur du "Compilateur pour C/C++/Objective-C" en Compilateur par défaut.

propre et fonctionnel :-)

10
Waseem Shah

J'ai trouvé que changer mon compilateur en LLVM 6.0 dans les options de construction me suffisait (xcode 6.1)

enter image description here

10
SleepsOnNewspapers

J'ai eu la même erreur sur mon Xcode 6.1.1 pour un projet téléchargé depuis gitHub qui avait été engagé il y a 4 ans . Pour moi, régler Architectures sur la valeur par défaut Architectures standard arm64) et Compilateur pour C/C++/Objective-C à Compilateur par défaut dans Paramètres de construction travaillé.

9
zeeawan

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

J'ai corrigé cela dans tous les projets pour lesquels je l'avais fait en:

  1. Supprimer Données dérivées  
  2. dans Produit: faire un nettoyage  
  3. allez dans Paramètres de construction dans la cible du projet et allez dans Options de construction et remplacez la valeur du "Compilateur pour C/C++/Objective-C" par " Par défaut Compilateur '.
9
user2431002

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

Simplement supprimer le fichier Info.plist a fonctionné pour moi!

 Info.plist

8
Jayprakash Dubey

Je rencontre récemment 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 modifiant le paramètre Architectures dans Configuration du bâtiment s sur la valeur par défaut, qui est " Architectures standard (armv7, arm64) ". 

J'espère que cela pourrait aider tous ceux qui ont des problèmes similaires :)

8
HunTer DRF

J'ai essayé toutes les réponses énumérées et aucune d'entre elles 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, il s’agissait de mon propre module. Je viens donc de supprimer ce plist du projet de sous-module et de réinstaller les modules.

solution

Plus tard, j'ai compris que la clé du problème résidait dans le nom de ce second plist: info.plist. Vous pouvez renommer le fichier et le relier via une section sources d'un sous-module.

Ce deuxième fichier plist avait un nom unique, de sorte que Xcode n'était pas censé être frustré. Même les paramètres de ma cible pointaient sur un plist principal, pas sur un info.plist. On dirait que Xcode prend des considérations spéciales sur ce nom

Le bogue reproduit dans Xcode 6.4 et Xcode 7.0

8
Tim

Eh bien, dans mon cas, je viens de renommer les valeurs Bundle Name et Executable file en info.plist, comme pour le nom du projet. Cela a fonctionné pour moi.

7
Ans

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

6
Viper

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

Xcode est tellement inutile dans le débogage!

5
jeddi

Je ne sais pas si le problème est lié, mais peut-être que cela pourrait être une solution pour tous ceux qui tirent les cheveux comme moi 

Dans mon cas, j'ai un projet avec beaucoup d'objectifs. Chaque cible est une personnalisation de ce projet de base qui est un Cocoa Touch Static Library et des cibles, Applications. Même si le fichier main est ajouté à 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? A ajouté manuellement le fichier main à chaque cible de la section Compile Sources et du bingo, tout va bien.

5
Gustavo Barbosa

Dans mon cas, main.m contenant la fonction principale (...) ne figurait pas dans la liste des "sources de compilation" de "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 "Compiler les sources".

4
Awsed

avec X-code 6.3.2 

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

Reconstruisez ensuite le projet et tout se passera bien.

3
bruce

Ce qui a résolu le problème pour moi a été de mettre Construire une architecture active uniquement de Non à Oui .

3
Misha

Dans mon cas, il a été utile de fermer Xcode et de réparer les autorisations avec l’utilitaire de disque. Seulement après un redémarrage cela a fonctionné comme un charme.

2
Markus Zeller

Comme je suis également confronté à ce problème aujourd'hui matin et qu'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 remplacer par" Main.storyboard " résolu mon problème.

(SOLUTION (selon mon problème)): Vous avez peut-être renommé un fichier pour lequel xcode ne pouvait pas le charger et vous avez posé un problème . Par exemple: comme mentionné ci-dessus, le cas de la modification de "Fichier exécutable "nom
Zone de problème possible: Peut-être les derniers fichiers sur lesquels vous travailliez.

2
rahulchona

J'ai eu des problèmes similaires. Apparemment, j'ai inclus Info.plist depuis un dossier de projet externe. Cela conduit à la même erreur, affichée après chaque construction (sauf après que je l'ai exécutée après le nettoyage du projet).

Pour résoudre ce problème, je devais simplement inclure Info.plist à partir du dossier du projet. 

2
Radek

J'utilise Xcode 6 GM. J'ai rencontré le même problème. Ce que j’ai fait est d’aller dans Paramètres de construction -> Options de construction (vous pouvez rechercher "compilateur"), , Puis changé l’option du "Compilateur pour C/C++/Objective-C" en Compilateur par défaut.

1
Harry Zhang

Le message d'erreur est générique et ne vous dit pas réellement ce que cela signifie.

Pour moi, je devais restaurer les précédentes versions de github qui donnaient:

armv7 armv7s arm64

à l'architecture.

1
SmallChess

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

En bref, sélectionnez Fichier> Paramètres de l’espace de travail…> Construire le système et remplacez-le par «Système de construction hérité».

1
informatiker

J'ai changé de nom pour un nouveau nom, puis j'ai renvoyé l'ancien nom à mon projet et cela m'a aidé.

1
Alexander Khitev

Sélectionnez Scheme Menu en appuyant sur le bouton voulu à droite des boutons de marche/arrêt:

 Picture 1


Appuyez sur Edit Scheme ...:

 Picture 2


Sélectionnez votre exécutable:

 Picture 3

0
Borzh

J'ai eu ce problème dans Xcode 10.1 après avoir ajouté des fichiers Objective C à mon projet Swift. Vous avez obtenu ce travail en suivant les étapes ci-dessous,

  • Ajouter un fichier .m pour compiler les sources sous Target -> Build Phases
  • Ajoutez -objc aux indicateurs de compilation juste à côté du fichier .m
0
yaali

J'ai pu restaurer mon projet à partir d'une sauvegarde pré-xcode 6.1,

Une fois que j’ai ouvert mon espace de travail à partir d’un répertoire différent, j’ai été en mesure d’exécuter ma cible sans cette erreur .

0
Bamaco

J'avais ce problème lorsque ma classe appdelegate n'était pas liée à ma cible principale, mais à un cadre statique distinct. Le lien direct avec l'application cible a résolu le problème.

0
StackRunner

J'ai corrigé cela en effaçant mes données dérivées des préférences de xcode

0
user3288482

J'ai corrigé cela moi-même en basculant entre les architectures "arm32" et "arm64". Depuis les "Paramètres de construction", j'ai modifié "Architectures" et "Architectures valides" de "arm32" à "arm64" et cela a fonctionné. Après avoir modifié un certain nombre d'autres paramètres, basculer entre arm32 et arm64 ne fait plus aucune différence. Je suis donc sceptique quant à la cause de la route.

Auparavant, j'ai essayé toutes les autres suggestions ici:

  • le plist n'a pas été modifié
  • EXECUTIBLE_NAME n'a pas été modifié
  • Construire propre
  • Supprimer DerivedData
  • Compilateur par défaut
0
brunobowden

Vérifier les autorisations de lecture et d'écriture du dossier de projet (clic droit pour le dossier de projet dans le Finder> Lire les informations)

0
Di B.

J'ai eu le même problème avec Xcode 10 & react-native. Toutes les solutions ci-dessus ne m'ont pas aidé. 

Ma solution: Créer un nouveau projet avec le même nom. Et changez les fichiers de projet et d’espace de travail avec ceux du projet dupliqué . Et ça marche !!! (après quelques petits problèmes de construction avec le chemin, etc.)

0
evgenii

Ma solution était:

  1. Entrez ceci dans votre terminal:

  2. Supprimer le dossier approprié

  3. Compiler à nouveau et cela devrait fonctionner

0
CGN

Aucune des réponses fournies n'a fonctionné pour moi. Dans mon cas, j'ai finalement résolu le problème en mettant à jour les architectures cibles dans Paramètres de construction/Architectures/Architectures valides sur $ (ARCHS_STANDARD), car arm64 était manquant. Cela n'empêchait pas la construction du projet, bien qu'un avertissement ait été émis recommandant de mettre à jour les architectures valides, mais que l'erreur "l'application ne pouvait pas être ouverte" était affichée au moment de l'exécution.

Je suppose que cette erreur est plutôt générique et qu'elle n'est pas toujours liée à un problème d'autorisation, mais qu'elle peut s'afficher lorsque le package d'application généré n'est pas valide.

0
Daniel Mavrakis

Veuillez également vérifier si vous avez ajouté une bibliothèque tierce avec un plist. Il arrive parfois qu'une bibliothèque tierce ait le plist info à l'origine du problème. 

0
Shreesh Garg

Ce message apparaîtra également si vous utilisez des fichiers .m dans votre projet qui ne sont pas ajoutés dans la phase de construction "compile source"

0
Secondwave

Pour moi, l'erreur était dans le fichier info.plist, champ Bundle identifier. En quelque sorte, il a été modifié pour 

com.myCompany.${PRODUCT_NAME:rfc1034identifier} 

de 

com.myCompany.${PRODUCT_NAME}

0

De mon côté, ce qui a déclenché cette erreur, c’est que j’avais, à la racine de mon dossier de ressources, un dossier du même nom que mon fichier exécutable final.

Ainsi, lors du lancement de l'exécutable, je pense que Xcode a trouvé le dossier et a eu des problèmes pour l'exécuter! ;-)

0
Nicolas Buquet

Je voudrais aller dans le dossier où sont vos documents Xcode et appuyez sur commande + I pour obtenir des informations. En bas, appuyez sur le verrou pour déverrouiller le dossier afin de modifier les autorisations. Si les autorisations vous conviennent, cochez la case qui vous permet d’appliquer aux dossiers fermés et laissez-le faire. Je n'ai pas vu cela personnellement et je ne suis pas sûr que ce soit ce que vous disiez dans votre message lorsque vous modifiez les autorisations de génération.

0
fingaz

J'ai mis à jour mes dosettes de cacao et ajouté de nouvelles architectures prises en charge dans les paramètres de construction, ce qui a été corrigé.

0
Scott Loomis

Je suis venu à cette question à la fois sur simulateur et appareil. 

Et il y a un phénomène délicat. Si je copie le projet dans un nouvel emplacement, il y a des chances que ce problème soit réglé lors de ma première exécution. Mais après avoir nettoyé et exécuté, ce problème survient.

J'ai essayé presque toute la solution à partir des réponses à cette question, mais moi non plus.

Avec l'aide du système de contrôle de version git, je peux consulter la version précédente du code et voir quelles modifications ont provoqué ce problème.

Dans mon projet, la HEAD version} _ est réalisable, et ma dernière modification umcommitted va entraîner ce problème.

J'ai donc extrait chaque fichier de la version exploitable de mon code pour localiser le problème. Lorsque je récupère le coin.xcodeproj/project.pbxproj (la pièce est le nom de mon application), ce problème a disparu.

Solution: vérifie simplement le coin.xcodeproj/project.pbxproj utilisable, dans mon cas, la version HEAD est correcte.

git checkout HEAD coin.xcodeproj/project.pbxproj


Pour en faire un résumé:

0
Kris Roofe

J'ai eu le problème que l'AppDelegate était manquant.

Créer un minimum a résolu le problème:

import UIKit

@UIApplicationMain
final class AppDelegate: UIResponder,UIApplicationDelegate {
}
0
Etan