Xcode 4 dit «fini d'exécuter <mon application>» sur l'appareil ciblé - il ne se passe rien

223

L'application ne s'installe ni ne s'exécute sur mon appareil. Tous les profils d'approvisionnement sont à jour. J'ai déjà essayé de les supprimer et de les réinstaller.

La barre d'état montre que Xcode est en train de construire mon projet, puis il dit de lancer mon projet, puis il dit "fini de fonctionner". Pendant toute cette période, l'écran de l'iPod reste noir. L'iPod est détecté dans l'Organiseur et je ne vois rien de mal à sa configuration. Tout fonctionnait parfaitement il y a quelques jours avec Xcode 3.

Cela ne fonctionne pas sur le simulateur, mais il peut être important de noter que dans le simulateur, il semble rester bloqué sur "Attacher à" et le simulateur refuse de démarrer.

D-Nice
la source
1
Si vous créez un tout nouveau projet en utilisant l'un des modèles xcode et essayez de l'exécuter dans le simulateur ou l'appareil fonctionnera-t-il? J'essaie de déterminer si l'installation / la configuration de xcode est cassée ou si quelque chose dans l'application que vous demandez influence le comportement.
kennbrodhagen
2
Créé un nouveau modèle de projet et cela a fonctionné. Alors maintenant, nous savons que quelque chose doit être mal configuré dans mon projet.
D-Nice
D-Nice, avez-vous déjà résolu cela? J'ai exactement le même problème avec mon jeu, et je ne peux pas le résoudre pour la vie de moi.
Adam Johnson

Réponses:

268

Pour ceux qui lisent ceci en ce qui concerne Xcode 4.2 et tentent de fonctionner sur un appareil antérieur (par exemple iPhone 3G, 2G, iPod 1st gen, etc.), j'ai une autre solution. Les nouveaux projets créés dans Xcode 4.2 par défaut spécifient «armv7» dans les «capacités de périphérique requises». Vous devrez supprimer cela si vous souhaitez prendre en charge les appareils exécutant armv6 (par exemple l'iPhone 3G).

entrez la description de l'image ici

Supprimez armv7 des «capacités de périphérique requises» dans votreProjectName-Info.plist

Vous devrez peut-être également modifier les paramètres de génération pour compiler avec armv6 au lieu d'armv7.

C'est la valeur par défaut:

entrez la description de l'image ici

Double-cliquez sur «Standard (armv7)» pour en ajouter un autre, puis cliquez sur le «+» dans la fenêtre contextuelle et tapez «armv6»:

entrez la description de l'image ici

Cliquez sur terminé et cela devrait ressembler à ceci:

entrez la description de l'image ici

MattyG
la source
1
Bingo: J'ai dû suivre les deux étapes décrites pour fonctionner correctement sur mon ancien iPhone 3G. Merci MattyG!
Ariel Malka
1
Mille mercis! Je vous donnerais 10 votes si je le pouvais. Je parcourais tous les scénarios de cette page sans aucune chance. D'une manière ou d'une autre, cette valeur a dû être modifiée lors de la mise à niveau vers XCode 4.3.
IcyBlueRose
Merci de vos efforts pour expliquer la procédure en détail.
alekhine
4
Merci de moi aussi! Beaucoup de gens ont suggéré d'ajouter «armv6», mais supprimer armv7 est l'astuce!
Harry Wood
1
"Supprimez armv7 des" capacités de périphérique requises "dans votreProjectName-Info.plist" -> Merci
Oded Regev
43

Je viens d'avoir ce problème, mais pour moi, c'est parce que je n'ai spécifié armv7 que dans mes architectures, mais la 3G est armv6. Assurez-vous d'avoir les deux.

axiixc
la source
C'était la principale cause pour moi. Si facile de l'oublier. Merci.
Lukasz
5
Pour ajouter l'option "armv6", voir ceci: stackoverflow.com/questions/7488657/…
pauloya
Mon ancien iPod Touch doit également être armv6 car cela a fonctionné aussi.
progrmr
Oui, je suis presque sûr que l'iPhone original, la 3G et les deux premiers iPod touch étaient armv6.
axiixc
21

J'ai eu ce problème, et il se trouve que XCode a par défaut la cible de déploiement à 4.3, alors que mon téléphone est 4.2.1. Changer la cible de déploiement en 4.0 semblait le résoudre.

Jeremy Flores
la source
Exactement ce que je cherchais.
fuite
J'ai eu ce problème lors de la définition de la cible de déploiement sur 5.1 alors que mon appareil n'était que jusqu'à 5.0.1 - cheers mate +1
theiOSDude
12

Après avoir ajouté "armv6" aux architectures du projet et des cibles, assurez-vous que vous n'avez pas "armv7" dans votre section "Capacités de périphérique requises" de votre info.plist. Si c'est le cas, retirez-le et cela devrait fonctionner!

Johann
la source
Oui, c'est la raison de mon cas. Aucune idée de la façon dont les «capacités requises pour le périphérique» d'armv7 sont entrées dans la liste. Merci!
GeneCode
11

Même problème ici avec l'application qui ne fonctionne pas sur l'appareil. La suppression de l'application de l'appareil n'a pas aidé. Projet -> Nettoyer puis Projet -> Exécuter à nouveau n'a pas aidé non plus. Il s'est avéré que le simple fait de quitter et de redémarrer Xcode 4 l'a résolu.

SPitBalls.com
la source
9

Je viens d'avoir ça aussi. J'avais ajouté une section UIRequiredDeviceCapabilities à info.plist, nécessitant un kit de jeu, et l'application ne serait pas copiée sur un iPhone 3G exécutant iOS 4.2. Suppression de la capacité requise, tout va bien.

Graham Perks
la source
Comment êtes-vous censé tester les applications qui nécessitent un kit de jeu sur l'appareil lui-même, alors?
Rob
Vous obtenez toujours GameCenter sans que votre info.plist ne dise que vous avez besoin d'un appareil qui en est équipé. Tout appareil exécutant la version 4.2 dispose de GameCenter, il n'est donc pas nécessaire d'ajouter la fiche info.plist supplémentaire "J'en ai besoin!"
Graham Perks
6

Essayez de supprimer l'application sur l'appareil (tout comme la désinstallation habituelle de votre application) et de l'exécuter à nouveau à partir de Xcode. M'a aidé avec le même problème, à part que le simulateur ne fonctionne pas.

Tomek Kopczuk
la source
Il n'y a plus de trace de l'application sur l'appareil. Je ne pense plus que ce soit un problème d'approvisionnement ... il y a quelque chose qui a été corrompu dans mon projet, mais je n'ai aucune idée de ce que cela peut être.
D-Nice
6

Cas de mine: J'ai réglé par erreur: capacités de l'appareil requises -> accéléromètre sur NON (dans Info.plist). Il suffit de le remettre à OUI

Aussi: Assurez-vous que les capacités de périphérique requises sont du type approprié: c'est-à-dire booléen ou chaîne. Le mauvais type fera invariablement échouer le test et l'application ne se chargera pas.

Casey
la source
4

Pour ceux qui pataugent encore, une autre chose que je devais faire était de rendre le nom du produit de ma cible identique pour les configurations de débogage et de version. Il "exécutait" la version Debug, que je ne construisais pas.

Luc
la source
4

l'ajout de l'architecture armv6 a résolu ce problème pour moi.

voiture rouge
la source
c'était tout pour moi; la nouvelle version de Xcode décide de supprimer armv6 du paramètre de construction 'Architectures', vous devrez donc l'ajouter manuellement
2

Cela m'arrive aussi parfois. Nettoyer (menu Produit -> Nettoyer) et exécuter (menu Projet -> Exécuter) le corrige toujours.

Le noir
la source
Merci! Cela arrive souvent. Chaque fois que j'essaye quelque chose de nouveau! Est-ce un bug dans Xcode?
Namratha
2

J'ai eu le même problème: j'ai migré un projet de xcode3 vers xcode4, et après avoir créé l'application, xcode n'a pas voulu installer et démarrer l'application sur mon téléphone.

Ma solution (qui a fonctionné pour moi) est:

  • Modifiez votre schéma (qui doit être exécuté)
  • Dans la liste de gauche, sélectionnez «Exécuter xyz.app»
  • Sous l'onglet info, dans Exécutable, j'avais sélectionné «.app». Modifiez cela en accédant à votre répertoire de construction et en choisissant votre application.

A fonctionné pour moi, et à partir de maintenant je peux utiliser: «Produit -> Effectuer une action -> Exécuter sans construire», pour exécuter la dernière version. C'est plus rapide que d'appuyer simplement sur Exécuter, car aucune action de génération ne sera effectuée.

bxantus
la source
il n'y a pas de répertoire de construction pour le mien? bizarre.
Sam Jarman
1

Redémarrez simplement l'appareil. Faites un projet propre. Supprimez l'application de l'appareil et reconstruisez.

Alex Terente
la source
0

Les paramètres de construction étaient différents pour le projet et les cibles. Je viens d'appuyer sur suppr sur le chemin des produits de construction et le chemin des fichiers de construction intermédiaires dans les deux sections et cela a résolu mon problème.

GeorgioA
la source
0

J'ai eu le même problème avec mon projet de jeu en utilisant Cocos2D. "Hello world" du modèle a bien fonctionné, mon projet a bien fonctionné dans le simulateur, mais l'exécution a échoué sur l'appareil avec le message: "Finished running".

J'ai remplacé Info.plist dans mon projet par celui initial du modèle et cela a fonctionné pour moi!

rudyryk
la source
0

J'ai vécu cela deux fois avec deux applications différentes lors du passage à la version la plus récente de Xcode. La première fois, ce qui a fonctionné a été de compiler l'application avec le compilateur GCC LLVM. La deuxième fois, ce qui a fonctionné a été de réintégrer l'architecture armv6 en tant qu'architecture prise en charge, car elle avait été supprimée lorsque Xcode a mis à jour automatiquement le projet.

Halle
la source
0

J'ai résolu cela en changeant "accéléromètre" de "NON" à "OUI" dans mon Info.plist.

La référence de clé de la liste des propriétés des informations d'Apple indique que vous pouvez supprimer complètement le paramètre "accéléromètre" si "votre application ne détecte que les changements d'orientation de l'appareil".

codeperson
la source
votre application prend en charge l'accéléromètre?
mac
0

Ma solution consistait à ajouter UIInterfaceOrientationPortraitau UISupportedInterfaceOrientationstableau dans Info.plist, même si mon application ne prend pas en charge le portrait.

Morrowless
la source
0

Un champ appelé "L'application nécessite un environnement iPhone" avait fait son chemin dans ma liste. Je l'ai enlevé et le tour est joué! Il a fonctionné sur mon iPod.

Namratha
la source
0

Mon Info.plist avait son adhésion cible définie sur ma cible de génération. Le supprimer de l'appartenance cible a résolu le problème.

RohinNZ
la source
0

J'utilisais un autre nom pour Info.plist mais je n'avais pas correctement défini le Info.plist Fileparamètre de génération sur ma cible. J'ai découvert cela en regardant le bundle d'applications et en voyant qu'il ne contenait pas d'Info.plist.

Ben Flynn
la source
0

Assurez-vous que la version cible du déploiement est <= la version iOS sur votre appareil. C'est ainsi que j'ai résolu ce problème.

d4n13l
la source
0

J'avais le même problème depuis environ 45 minutes maintenant. Le nettoyage n'a pas aidé, la recréation du projet n'a pas aidé, la version du bras n'a pas aidé. J'ai ouvert certains messages "Impossible de synchroniser avec iTunes" que je n'avais pas vus auparavant. En cliquant sur OK, ceux-ci semblaient avoir résolu le problème :(

John Fawcett
la source
0

Générer, exécuter et terminer XCode, mais l'application n'a pas pu être déployée et n'a même pas été copiée sur l'appareil.

En fait, il devrait y avoir quelque chose dans le projet XCode qui est cassé. La meilleure chose à faire est de créer un nouveau projet à partir de zéro. N'oubliez pas d'ajouter le support armv6 comme indiqué dans un post précédent.

Ça marche bien pour moi!

Claude COULOMBE
la source
0

Cela m'est arrivé en essayant d'exécuter une application watchOS sur l'appareil, car la version watchOS de mon Apple Watch était supérieure à celle de mon Xcode actuellement installé. J'ai mis à niveau vers le plus récent Xcode (qui m'a également obligé à mettre à niveau vers le plus récent macOS), et cela a bien fonctionné après cela .

nickjwallin
la source