Xcode a soudainement arrêté d'exécuter le projet sur le matériel: "Impossible de lancer xxx.app: .. Aucun fichier de ce type .." [fermé]


139

Xcode a cessé de pouvoir exécuter mon application, elle a démarré directement après l'avoir supprimée de l'appareil et tenté de la réinstaller en la réexécutant dans Xcode (ce que j'ai déjà fait des centaines de fois).

Ça dit

"Impossible de lancer XXX.app"

"Aucun fichier ou répertoire de ce type (/Users/Mylaptop/Library/Developer/Xcode/DerivedData/MyApp-ekxcbebfpzkahtfkujyqkcwprzia/Build/Products/Debug-iphoneos/MyApps.app/MyApp)."

J'ai redémarré le téléphone, relancé Xcode, tout nettoyé, tout reconstruit. Ce message d'erreur ne disparaîtra pas.

C'est avec Xcode 4.5 que j'utilise depuis qu'il est disponible, si je reviens à 4.3.2 alors Xcode dit "Application terminée en cours d'exécution" mais il ne fait rien - l'application n'est ni installée ni exécutée.

Je suis complètement bloqué - je ne peux plus rien exécuter sur l'appareil.

Aucune suggestion?


4
Accédez à l'organisateur dans votre xcode, appuyez sur l'onglet projets et supprimez les données dérivées de votre projet et nettoyez le projet et reconstruisez-le à nouveau ..
Dinesh Raja

2
Obtenez toujours la même chose après avoir fait cela. Je vais essayer de réinstaller Xcode.
Gruntcakes

Je pense que vous avez changé quelque chose dans vos paramètres de construction dans le chemin pour exécuter votre application dans l'appareil
Dinesh Raja

9
J'ai découvert ce que c'était - en ajoutant des capacités de périphérique à info.plist, j'avais en quelque sorte ajouté une nouvelle ligne sans lui donner de valeur.
Gruntcakes

1
Bien que la suppression des données dérivées ait finalement fonctionné pour moi, cela n'a pas aidé jusqu'à ce que j'ai redémarré l'iPad et OS / X, vidé la corbeille après avoir utilisé le Finder pour supprimer les données dérivées et supprimé un périphérique BLE connecté via un port USB. Je ne sais pas laquelle des étapes était nécessaire - XCode compilé plus tard avec le périphérique BLE attaché - mais une fois que toutes ces étapes ont été ajoutées à la suppression des données dérivées, le projet s'est bien compilé.
Mike

Réponses:


125

C'est vraiment ennuyeux. Cette erreur se produit dans un certain nombre de situations différentes. Parfois, le redémarrage du Xcode résout le problème. Sinon, procédez comme suit:

Déconnectez votre appareil.

Supprimez l'application de votre appareil.

Quittez Xcode (ne fermez pas simplement la fenêtre, quittez-la)

Supprimer le dossier de données dérivées ( ~/Library/Developer/Xcode/DerivedData/-gbrvhlvwmpiobxdujegtghggrffp- ou quelque chose comme ça)

Maintenant, redémarrez Xcode, connectez l'appareil et exécutez le projet. Cela devrait fonctionner correctement.

du blog DhilipSiva


4
C'était la clé pour moi. Appréciez le niveau de détail de la réponse.
Jason Pawlak

Juste une des choses "vraiment ennuyeuses" lorsque vous travaillez sur cette plate
rushinge

2
ne fonctionne pas ... je cours sur l'appareil
Rajneesh071

Les étapes ci-dessus n'ont pas résolu le problème. Je reçois toujours le message "Impossible d'exécuter <app>. <App> introuvable".
user298261

a travaillé pour moi, essayez celui-ci
Muhammad Waqas

57

Essayez de supprimer «Capacités de périphérique requises» dans le fichier -Info.plist.

Vous ne pouvez pas exiger armv7 sur un 3G, et vous ne pouvez pas exiger armv6 sur un appareil plus récent, alors supprimez simplement cet attribut entièrement.


2
C'est la seule solution qui a fonctionné pour moi. J'essaie déjà de rafraîchir les certificats, de nettoyer les dossiers en redémarrant l'appareil, xcode et mac, rien n'y fait. Supprimez simplement l'attribut et il s'est installé et a bien fonctionné.
automaticoo

1
Cette solution a également fonctionné pour moi - erreur étrange.
abus de

Je devais également m'assurer que les architectures valides dans la configuration incluaient armv6, armv7 et armv7s (j'utilise XCode 4.5 maintenant ... Je sais que cela fait quelques mois, mais cela vaut la peine d'être mentionné.) En outre, ces trois devraient être répertoriés dans la section Architectures également.
David Morton

J'ai essayé cela, pas de joie mais la réponse Sudhakar + Jagger a fonctionné. Xcode 4.5.1 et un iPad1
mm2001

C'était le problème pour moi: mon application avait la «téléphonie» comme capacité requise et j'essayais d'exécuter l'application sur un iPad mini Wi-Fi uniquement.
chitza

38

J'ai trouvé la réponse. La version de la cible de déploiement iOS n'était pas la même que la version du système d'exploitation de mon appareil.


Je l'ai fait pour moi aussi. Pour une raison quelconque, XCode souhaite toujours réinitialiser la cible de déploiement de mon projet à 6.0.
Donald Burr

3
a fonctionné pour moi aussi ... Je changeais le type de périphérique de "iPhone" à "Universel" et xcode a automatiquement changé la cible en 6.0, ce que je n'avais pas remarqué au début. Retiré à 4,3 et cela a fonctionné ...
Jim Jose

Dommage que la suppression de DerivedData et des capacités requises de l'appareil n'ait pas aidé, j'ai donc défini ma cible de déploiement de 6.1 à 5.0 et cela a fonctionné sur mon iPod Touch exécutant iOS 5.1.
Richard Altenburg - Brainchild

Oh mince. combien de fois je vais faire le même échec ...
heximal

c'était la solution pour moi
GeorgeBuckingham

13

J'ai d'abord essayé certaines des solutions ci-dessus avec info.plists et supprimez les données dérivées, nettoyez, etc.

Ma solution: quitter XCode, rouvrir le projet. Accédez aux données dérivées dans le Finder. Les données supprimées pour tous les projets (étaient toutes traçables, mais j'essaierais d'abord de supprimer vos données de projet en difficulté). Et puis ça a fonctionné à nouveau. La suppression des données dérivées de XCode ne fonctionnait pas.


4
Le chemin d'accès au dossier de données dérivé: / Users / <User> / Library / Developer / Xcode / DerivedData /
Pascalius

cela a résolu mon problème + La suppression de tous les dossiers a libéré 10 Go de mémoire alors double merci :)
thesummersign

10

Ce qui suit a résolu mon problème ... mon application a fonctionné pour moi en débogage / publication, puis j'ai construit quelques archives ad hoc et les versions de débogage / publication ont cessé de fonctionner.

Symptômes:

  • erreurs de droits invalides lors du lancement de Xcode vers l'appareil (jouer avec les droits ...)
  • abandon immédiat sans erreur (exécution terminée) lors de l'exécution du simulateur
  • impossible de lancer ... répertoire blabla ... / build / product / debug-iphoneos / ... introuvable lors du lancement de Xcode vers l'appareil.

Finalement, après avoir essayé de profiter de la douleur de tout le monde, j'ai trouvé dans les cibles [AppName]:

Build Settings
Build Locations
Build Products Path build

devrait être

Build Products Path build/Products

Je ne sais pas comment cela a été mal réglé. Cela doit être codé en dur quelque part dans Xcode / Springboard car 'Products' apparaît à la fois dans Xcode et dans la console de l'appareil. C'est Xcode 4.5.1.

capture d'écran pour savoir où définir la construction / les produits


1
Pourriez-vous formater cela pour rendre le sens un peu plus clair? Il n'est pas évident de savoir comment le saisir.
itsbruce

1
Wow, merci beaucoup Keith. Après 4 heures frustrantes, il s'avère que c'était la cause. La façon dont le monde a changé me dépasse.
karl_

1
Oui, cela a résolu mon problème, mais pourquoi est-ce arrivé?!
Ali

7

J'ai résolu ce problème en

renommer un répertoire au-dessus de mon projet XCode

Changer le nom du projet a XCodecorrigé le problème pour moi.

Dans XCode, sous le Navigateur de projet, cliquez sur le nom du projet et il devrait vous permettre de le renommer comme un fichier dans le Finder. La suppression des données dérivées n'a pas aidé.


Cela l'a fait pour moi, pour une raison quelconque, cela a échoué lorsque j'avais un espace blanc dans le nom du projet. Renommé sans espace blanc et il fonctionne bien.
rita

6

J'ai construit mon projet XCode avec CMake et en quelque sorte (ou mon stupide moi) a supprimé ou vidé la propriété "Fichier exécutable" dans le fichier info.plist. Je l'ai remis à $ {EXECUTABLE_NAME} et cela a fonctionné à nouveau.

Cela m'a pris beaucoup de temps à travailler sur toutes les suggestions et corrections jusqu'à ce que je trouve enfin ce problème.

J'espère que cela aidera quelqu'un aux prises avec le même problème

Éditer:

C'était en quelque sorte CMake gâcher mon fichier plist. J'ai créé mon propre Info.plist et je l'ai utilisé de la manière suivante:

SET_TARGET_PROPERTIES( MyApp PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_LIST_DIR}/MyApp.plist )

Dans mon plist, j'avais cette entrée:

<key>CFBundleExecutable</key> <string>${EXECUTABLE_NAME}</string>

Malheureusement, CMake semble toujours analyser ce fichier et a remplacé $ {EXECUTABLE_NAME} par une chaîne vide car c'est la syntaxe de la variable CMake. Mon travail rapide est le suivant:

SET( EXECUTABLE_NAME "\${EXECUTABLE_NAME}" )

Maintenant, cela fonctionne comme un charme.

Je suis probablement seul avec exactement ce problème, mais qui sait.


Agréable. J'ai accidentellement supprimé mon fichier .plist et c'était l'une des propriétés que je devais ajouter à nouveau. Merci

Le set(EXECUTABLE_NAME "\${EXECUTABLE_NAME}")était exactement ce que je avais besoin. J'ai ajouté cette ligne au bas de mon fichier de chaîne d'outils ios et cela l'a corrigé sans défaut. Merci beaucoup!
Deathicon

5

J'ai eu le même problème, mais dans mon cas j'avais une mauvaise exigence dans mon info.plist (nécessite un gyroscope pour un iPhone 3Gs)


4

J'ai essayé d'exécuter mon projet sur un autre système que celui sur lequel il a été développé. J'obtenais "Impossible de lancer xxx.app: .. Aucun fichier de ce type ..".

Suppression de l'application de l'appareil, puis suppression des données dérivées de l'organiseur dans xcode pour l'application. Organisateur -> Projets -> DAta dérivée -> Supprimer

Mon problème a été résolu.


4

Vous devez définir la cible de déploiement INFÉRIEURE à la version de votre appareil


4

Pour moi, la solution consistait simplement à utiliser le profil de provisionnement correct (sans distribution).

Par défaut, j'utilisais toujours mon profil de provisionnement ad hoc, mais j'ai ensuite changé pour utiliser mon profil de développeur (profil d'équipe) et cela a résolu les choses. Je suis allé de l'avant et j'ai nettoyé le répertoire des données dérivées pour être sûr, mais je ne sais pas avec certitude si cela est nécessaire.

XCode avait un avertissement qui vous disait d'utiliser le bon profil de provisioning mais ce message d'erreur semble avoir disparu dans XCode 4.5.


C'est certainement un tas d'échecs et de correctifs, évidemment beaucoup d'échecs XCode éclaboussent dans ce message d'erreur inutile. CETTE fois, pour nous, et quelques autres ci-dessous, cela semblait être causé par des problèmes de certificat / signature / profil, en jetant quelques-uns des anciens profils expirés et en m'assurant que j'utilisais les mêmes profils partout, (comme Jabolcnik ci-dessous , J'ai plusieurs comptes de développement, celui de mon employeur et le mien.) A autorisé XCode à exécuter l'application sur l'appareil.
Taryn

4

J'ai eu ce problème par une solution très étrange.

Mon problème était légèrement différent car j'ai 2 certificats de développeur dans le trousseau. Nous avons deux comptes de développeur (disons AD et BD).

1) J'ai changé l'identifiant du bundle de com.BD.game à com.AD.game 2) L'appareil sur lequel j'avais des problèmes n'était signé que dans les profils d'approvisionnement AD. 3) Je n'ai pas pu déboguer le jeu sur iPad - bien que l'appareil ait des profils d'approvisionnement valides, j'avais des certificats valides, j'ai redémarré Mac, l'appareil, réinstallé Xcode ... rien n'y fit.

J'ai fait ce que j'ai fait aujourd'hui en examinant le fichier project.pbxproj à la recherche d'entrées étranges.

Ce que j'ai trouvé, c'est que Xcode utilisait le profil d'approvisionnement approprié, mais a signé l'ipa / app avec un certificat incorrect.

"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: **BD** (XX******)";

Après avoir corrigé manuellement le nom et l'identifiant; tout fonctionne comme du charme.


4

J'ai eu la même erreur. Dans mon cas, j'ai été défini comme cible de déploiement 6.1 et j'ai essayé d'exécuter un iPad iOS 5.1. Lorsque j'ai changé ma cible de déploiement en 4.3, le problème a été résolu.


J'ai toujours le problème. Essayez ceci Déconnectez votre appareil. Supprimez l'application de votre appareil. Quittez xcode. Maintenant, démarrez Xcode, connectez l'appareil et exécutez le projet. Cela devrait fonctionner correctement.


4

Pour moi (en utilisant IOS 7 et Xcode 5), l'erreur a disparu juste après avoir fait «Ajouter au centre des membres» avec mon appareil dans l'organisateur.


Cela a aidé. Cependant, j'avais besoin de redémarrer l'appareil après cela pour me débarrasser de l'erreur.
Bouncing Bit

3

Je voudrais mentionner que le moyen le plus simple d'ouvrir le dossier DerivedData dans Finder est le suivant:

  1. Ouvrez l'organiseur.
  2. Cliquez sur "Projets".
  3. Sélectionnez votre projet problématique.
  4. À côté du chemin de DerivedData, cliquez sur le petit bouton flèche droite.

La suppression du contenu du dossier DerivedData a fonctionné pour moi. Au lieu d'utiliser le bouton "Supprimer ...", vous devriez avoir plus de succès en supprimant les fichiers manuellement via Finder.


3

Accédez à: la cible de votre projet -> Info et à partir des propriétés de la cible iOS CustoM, supprimez les capacités de périphérique requises. Dans mon cas, c'était armv7 et armv7s.

Après cela, l'application a été créée avec succès sur mon iPhone 4.

Voici à quoi cela ressemble après avoir supprimé les deux exigences


Je voyais le même problème, l'application fonctionnait sur mon 5S la première fois mais pas les fois suivantes, s'est avéré que mes capacités de périphérique requises étaient définies sur "armv7", supprimant cela de la liste d'informations corrigée
Cam Saul

2

Pour moi, j'ai oublié que j'avais "téléphonie" dans les "Capacités de périphérique requises" dans le fichier info.plist. Supprimé cela, et cela a finalement fonctionné sur mon iPad.


2

Pour moi, le redémarrage de Xcode, le nettoyage de DerivedData et le redémarrage de l'appareil ne suffisaient pas dans la plupart des cas, jusqu'à ce que j'aie compris qu'iTunes fonctionnait également, et après avoir quitté iTunes, tout fonctionnait bien!

Donc, mes étapes sont maintenant simples:

1. Quittez Xcode.
2. Si iTunes est en cours d'exécution, quittez iTunes.
3. Rouvrir le projet.

Pas besoin de supprimer l'application de l'appareil, de nettoyer le projet ou de redémarrer / déconnecter l'appareil. Je pense que c'est parce que Xcode et iTunes utilisent certaines bibliothèques communes (comme vous le savez, Xcode Installer demande toujours de quitter iTunes lors de l'installation du SDK iOS).


2

J'ai eu ce problème et j'ai essayé un certain nombre de suggestions qui ne fonctionnaient pas pour moi - puis j'ai trouvé celle sur la suppression des "Capacités de périphérique requises" dans le fichier -Info.plist (qui pour moi incluait les services de localisation et gps) Ça a marché! Je les ai ensuite rajoutés et cela fonctionnait toujours .. allez comprendre. C'était xCode 4.6.1 et mon application est développeur avec Phonegap / Cordova


J'y ai aussi trouvé une chaîne vide et ça bloquait l'organisateur! Merci pour le conseil !
PetrV

2

J'ai essayé tout ce qui précède et pourtant cela ne fonctionnait toujours pas. J'ai résolu le problème en modifiant l'emplacement de construction dérivé. Fichier> Paramètres du projet> "Emplacement des données dérivées" devient relatif au projet. Ou vous pouvez simplement vous assurer que le chemin par défaut a l'autorisation de lecture / écriture.


1

Mon problème semblait être de choisir Portrait (bouton d'accueil supérieur) comme élément 0 dans les orientations de l'interface prise en charge dans mon plist. Le supprimer ou le déplacer vers le bas semblait résoudre mon problème. Allez comprendre.


1

J'ai également eu ce problème pour une application universelle avec Xcode 4.5 sur mon iPhone UNIQUEMENT, où j'avais deux appareils de débogage:

iPhone 4 iOS 5.1.1
iPad 1   iOS 5.1.1

L'Info.plist avait une entrée vide sous "Capacités de périphérique requises" Je sais que je n'ai pas entré cet 'Item 0' vide. L'application se charge sur l'iPhone depuis que j'ai supprimé l'élément vide. Je n'ai rencontré ce problème sur aucune des versions antérieures de Xcode, cela signifie que Xcode 4.5 gère cet élément «inséré» différemment pour les deux appareils que j'utilise. Je me suis trompé avant, mais cela semble être un bogue dans Xcode 4.5.


1

Cela peut sembler évident, mais vous devez également définir votre cible de déploiement sur le système d'exploitation que votre appareil exécute.

Ainsi, si vous effectuez une mise à niveau vers iOS 6, votre cible de déploiement sera définie sur iOS 6. Vous devrez déployer vers la version 5.1 si l'appareil que vous testez exécute toujours la version 5.1.


1

Mon problème a finalement été résolu en vérifiant que l' productNameattribut de la /* Begin PBXNativeTarget section */section de mon project.pbxprojfichier correspondait à l' nameattribut.

Une fois édité pour qu'ils soient identiques, Xcode exécute enfin correctement l'application sur mon appareil!

Merci à Max Weisel de m'avoir aidé! :RÉ


1

La suppression du dossier de données dérivées ne m'a pas aidé. En utilisant Xcode 4.4.2 le seule solution consistait à ouvrir l'Organisateur et à supprimer les anciens profils d'approvisionnement expirés et superflus sur l'iDevice. Ensuite, tout a fonctionné à nouveau parfaitement.


Il s'agit certainement d'un fourre-tout d'échecs et de correctifs, évidemment de nombreux échecs XCode éclaboussent ce no man's land.
Taryn

1

Cela peut être un hareng rouge, mais j'ai rencontré ces problèmes lorsque j'ai ajouté des images de lancement personnalisées avant de supprimer celles par défaut. La suppression du lancement par défaut et des images personnalisées, puis l'ajout de celles personnalisées ont résolu le problème pour moi. Je travaille avec iOS 6 et Xcode 4.5.2


1

Il semble y avoir plusieurs choses différentes qui peuvent provoquer ce message d'erreur très utile.

Pour moi, c'était dû à une "Capacités de périphérique requises" incorrectes dans Info.plist. J'avais ajouté un élément de tableau vide par erreur (en plus de l'architecture, armv7). Supprimé l'élément de tableau vide et maintenant tout va bien!


1

J'ai eu ce problème et rien n'a vraiment aidé sauf: Mon problème a commencé après avoir changé le contenu de mon info.plist et aucun retour n'avait aidé.

Ce qui m'a résolu, c'est:

  1. Créez un info.plist vanille dans un tout nouveau projet
  2. remplacez l'ancien info.plist par le nouveau
  3. le renommer (comme app_info.plist)
  4. Définissez Build Settings / Packaging / INFOPLIST_FILE comme étant le nouveau.
  5. Apportez toutes les modifications dont vous avez besoin pour votre projet

J'espère que cela pourra aider. J'ai essayé tout ce qui était suggéré ici et c'était la seule solution pour moi.


1

Face au même problème mais maintenant le problème est résolu, j'ai supprimé Executable file info.plist. Je l'ai remis à $ {EXECUTABLE_NAME} et cela a fonctionné à nouveau .. :)

entrez la description de l'image ici


1

Dans mon cas, je viens de définir l'autorisation 777 directement dans le dossier xxx.app pour tous les fichiers et je travaille!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.