web-dev-qa-db-fra.com

Xcode a soudainement arrêté l'exécution du projet sur le matériel: "Impossible de lancer xxx.app: .. Aucun fichier de ce type .."

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

Ç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 va pas disparaître.

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

Je suis complètement coincé - incapable de faire fonctionner quoi que ce soit sur l'appareil.

Aucune suggestion?

136
Gruntcakes

C'est vraiment énervant. Cette erreur se produit dans différentes situations. Parfois, le redémarrage du Xcode corrige le problème. Sinon, suivez ces étapes:

Déconnectez votre appareil. 

Supprimer l'application de votre appareil. 

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

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

Maintenant, redémarrez Xcode, connectez le périphérique et exécutez le projet. Cela devrait bien fonctionner.

de DhilipSiva blog

124
Sudhakar

Essayez de supprimer "Fonctionnalités de périphérique requises" dans le fichier -Info.plist. 

Vous ne pouvez pas exiger armv7 sur un réseau 3G, ni armv6 sur un appareil plus récent, supprimez donc simplement cet attribut.

57
Almog C

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.

38
wihing

D'abord essayé certaines des solutions ci-dessus avec info.plists et en supprimant les données dérivées, nettoyer, etc.

Ma solution: quitter XCode, rouvrir le projet. Aller aux données dérivées dans le Finder. Données supprimées pour tous les projets (tout était traçable, mais je voudrais d'abord essayer de supprimer vos données de projet en difficulté). Et puis ça a encore fonctionné. La suppression des données dérivées de XCode n'a pas fonctionné.

Ce qui suit a résolu mon problème… mon application a fonctionné pour moi dans le 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 des droits invalides lors du lancement de Xcode vers un appareil (jouer avec des 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 un périphérique.

Finalement, après avoir essayé de profiter de la douleur de tous les autres, j'ai trouvé dans Targets [AppName]:

Build Settings
Build Locations
Build Products Path build

devrait être

Build Products Path build/Products

Aucune idée de la manière dont cela a été configuré de manière incorrecte . Cela doit être codé en dur quelque part dans Xcode/Springboard car "Products" apparaît à la fois dans Xcode et dans la console du périphérique . Il s'agit de Xcode 4.5.1.

screenshot fo where to set build/Products

10
KeithL

J'ai construit mon projet Xcode avec CMake et, d'une manière ou d'une autre, il (ou mon auto stupide) 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. 

Il m'a fallu beaucoup de temps pour examiner toutes les suggestions et les solutions jusqu'à ce que je trouve enfin le problème. 

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

Modifier:

C'était en quelque sorte CMake en train de bousiller mon dossier de pliste. J'ai créé mon propre Info.plist et l'ai utilisé de la manière suivante:

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

À l'intérieur de 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 puisque c'est la syntaxe de la variable CMake. Mon rapide travail 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.

7
ecreif

J'ai résolu ce problème en 

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

Changer le nom du projet dans XCode le corrigea pour moi.

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

7
Scott Driscoll

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 3G)

5
Unfalkster

J'ai essayé d'exécuter mon projet sur un système différent de celui sur lequel il avait été développé. Je devenais "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. Organiseur -> Projets -> Dérivé -> Supprimer

Mon problème était résolu.

4
iSaalis

Pour moi (avec IOS 7 et Xcode 5), l'erreur a disparu immédiatement après que j'ai ajouté le bouton "Ajouter au centre des membres" avec mon appareil dans l'Organiseur.

4
Bruce Cichowlas

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 Keychain. Nous avons deux comptes de développeur (disons AD et BD).

1) J'ai changé l'identifiant de Bundle de com.BD.game en com.AD.game 2) Le périphérique sur lequel j'avais des problèmes était uniquement signé dans les profils de provisionnement AD . 3) Je n'ai pas pu déboguer le jeu. sur iPad - bien que le périphérique ait des profils de provisionnement valides, j'avais des certificats valides, j'ai redémarré Mac, un périphérique, Xcode réinstallé ... rien n'y fait.

Faire ce que j'ai fait aujourd'hui examinait le fichier project.pbxproj pour des entrées étranges.

Ce que j’ai découvert, c’est que Xcode utilisait le profil de provisioning approprié, mais signait l’ipa/app avec un certificat erroné.

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

Après que j'ai corrigé manuellement le nom et l'identifiant; tout fonctionne comme un charme.

4
Jabolcnik

J'ai eu la même erreur. Dans mon cas, la cible de déploiement était définie sur 6.1 et j'essayais de faire fonctionner un iPad iOS 5.1. Lorsque j'ai changé ma cible de déploiement en version 4.3, le problème a été résolu. 


Toujours avoir le problème. Essayez ceci Déconnectez votre appareil. Supprimez l'application de votre appareil. Quittez xcode . Lancez Xcode, connectez le périphérique et exécutez le projet. Cela devrait bien fonctionner.

4
Nijil Nair

Vous devez définir la cible de déploiement inférieure à la version de votre appareil.

4
Jim Huang

Pour moi, la solution consistait simplement à utiliser le bon profil d'approvisionnement (non-distribution).

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

Auparavant, XCode contenait un avertissement vous invitant à utiliser le profil de provisioning correct, mais ce message d'erreur semble avoir disparu dans XCode 4.5.

4
TPoschel

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

  1. Ouvrez l'organisateur.
  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.

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

3
user444731

Allez à: votre projet Target -> Info et dans CustoM iOS Target Properties, supprimez les fonctionnalités de périphérique requises .

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

Voilà à quoi ça ressemble après avoir supprimé les deux exigences

3
Dejan Balaban

J'ai essayé tout ce qui précède et pourtant cela ne fonctionnait toujours pas. J'ai résolu le problème en changeant 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 est autorisé à lire/écrire.

2
wickedgk

En ce qui me concerne, j’ai oublié que j’avais la "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
ninjaneer

Pour moi, redémarrer Xcode, nettoyer DerivedData et le périphérique restaring ne suffisaient pas dans la plupart des cas, jusqu'à ce que je sache qu'iTunes fonctionnait également et qu'après avoir quitté iTunes, tout a bien fonctionné!

Donc, mes démarches sont simples:

1. Quittez Xcode.
2. Si iTunes est en cours d'exécution, quittez iTunes.
3. Réouverture du projet.

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

2
parametr

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 requises de l'appareil" dans le fichier -Info.plist (qui pour moi incluait location-services & gps) Cela a fonctionné! Je les ai ensuite rajoutés et cela fonctionnait toujours .. allez comprendre . C'était xCode 4.6.1 & mon application est développeur avec Phonegap/Cordova

2

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

1
Arthur Goulart

Il s’agit peut-être d’une mauvaise image, mais j’ai rencontré ces problèmes en ajoutant des images de lancement personnalisées avant de supprimer celles par défaut. La suppression des images de lancement et personnalisées par défaut, puis leur ajout dans les images personnalisées, le corrigeaient pour moi. Je travaille avec iOS 6 et Xcode 4.5.2

1
G O'Rilla

Mon problème semblait être de choisir Portrait (bouton d'accueil du haut) comme élément 0 dans les orientations de l'interface prise en charge dans mon pliste. Le supprimer ou le baisser semblait résoudre mon problème. Allez comprendre.

1
Becka11y

Supprimer le dossier de données dérivé ne m'a pas aidé. En utilisant Xcode 4.4.2, la solution only consistait à ouvrir Organizer et à supprimer les anciens profils de provisioning périmés et superflus sur iDevice. Ensuite, tout a fonctionné à nouveau parfaitement.

1
Robert Wasmann

J'ai eu ce problème aussi 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 contenait une entrée vide sous «Fonctionnalités requises pour l’appareil» Je sais que je n’ai pas entré ce «Item 0» vide. L'application se charge sur l'iPhone Depuis que j'ai retiré l'élément vide. Je n'ai rencontré ce problème sur aucune des versions précédentes de Xcode, Cela signifie que Xcode 4.5 gère cet élément 'inséré' différemment Pour les deux périphériques que j'utilise. Je me suis déjà trompé auparavant, mais cela semble être. Un bug dans Xcode 4.5.

1
mbarron

Cela peut sembler évident, mais vous devez également définir votre cible de déploiement sur le système d'exploitation exécuté par votre périphérique.

Ainsi, si vous effectuez une mise à niveau vers iOS 6, votre cible de déploiement sera définie sur iOS 6. Vous devrez effectuer un déploiement sur 5.1 si le périphérique sur lequel vous testez exécute encore la version 5.1.

1
Matt Hudson

Mon problème a finalement été résolu en vérifiant que l'attribut productName de la section /* Begin PBXNativeTarget section */ de mon fichier project.pbxproj correspond à l'attribut name.

Une fois que vous l'avez modifiée, Xcode lance l'application correctement sur mon appareil! 

Merci à Max Weisel de m'aider! :RÉ

1
Grantland Chew

J'ai eu ce problème et rien n'a vraiment aidé sauf:.

Ce qui l'a résolu pour moi était: 

  1. Créer 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 nécessaires à votre projet

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

1
Capi Yoav Kedem

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

Pour moi, il s'agissait d'un "Capacités de périphérique requises" incorrect dans l'Info.plist. J'avais ajouté un élément de tableau vide par erreur (au-dessus de l'architecture, armv7) . L'élément de tableau vide a été supprimé et tout va bien maintenant! 

1
MattP

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 encore fonctionné .. :) 

enter image description here

1
Rajneesh071

J'ai résolu ce problème en sélectionnant "aucun" comme exécutable dans les paramètres de construction, en arrêtant xcode et en supprimant manuellement toutes les données dérivées de ~/Library/Developer/Xcode/DerivedData, puis en sélectionnant l'exécutable par défaut après avoir relancé xcode. Pas trop sûr de ce qui cause ceci, cependant. 

0
cmyr

J'ai eu ce même problème, sauf que le projet a été exécuté sur l'un des iPhones de test, mais pas sur un autre. L'erreur était exactement la même que celle que vous avez postée. Le problème était que, dans Paramètres de construction> Cible de déploiement iOS, il était défini sur 5.1 et qu'un seul périphérique possédait ce système d'exploitation. Après avoir changé pour 5.0, les deux appareils ont bien fonctionné.

0
Julian

Je travaillais avec un espace de travail. Le projet principal était lié à certains projets de bibliothèque. Au début, le projet fonctionnait bien. Soudain, il a couru. Après un certain temps, j'ai remarqué que la cible pour laquelle le projet était construit était en quelque sorte modifiée du projet principal au projet de bibliothèque, ce qui désactivait l'option d'exécution. Changez le taret en projet principal corrigé. Je me demande encore comment cela a changé. 

0
Pratik

AUCUN! des réponses ci-dessus a fonctionné pour moi. Je viens de faire -> Allez à la cible principale de votre projet -> "Phase de construction" -> "Dépendances de cibles", ajoutez vos dépendances de projet le cas échéant.

Le projet a fonctionné comme un charme :)

0
Mohd Asim