Erreur Xcode 9: "iPhone a refusé la demande de lancement"

170

En utilisant Xcode beta 9 (v4), j'essaye de lancer l'application en cliquant sur le bouton "play". J'obtiens un "build réussi" mais juste avant le lancement, un message contextuel apparaît dans Xcode:

"iPhone a refusé la demande de lancement."

Fenêtre contextuelle d'erreur de refus de demande de lancement

Cela fonctionnait hier. Cela fonctionne sur le simulateur. J'ai redémarré mon ordinateur, l'iPhone, désinstallé l'application, nettoyé la version. Manquer d'idées.

user1988824
la source
Vous pouvez suivre stackoverflow.com/questions/42451944/…
Nikhlesh Bagdiya
c'est une erreur différente difficile
user1988824
2
J'étais également confronté à ce problème. Il s'est avéré que j'ai accidentellement changé le schéma. Il a été défini sur Release dans la configuration de construction alors que j'utilisais le certificat de développeur en mode débogage.
swifthorseman
2
Je viens de redémarrer mon appareil
Crazyrems
Choisir Automatically manage signingrésout ce problème
onmyway133

Réponses:

222

Il peut s'agir d'un problème de signe de code. Assurez-vous de signer avec le développeur et non avec la distribution.

Nikhlesh Bagdiya
la source
7
Vous devez en effet utiliser un profil de provisionnement «Développement iOS».
MoOx du
2
Le mien a été signé manuellement et j'utilisais un provisionnement ad-hoc pour le développement. J'aurais aimé qu'Apple affiche une erreur à propos de ce truc au moment de la construction, mais tout ce que vous obtenez est une section grisée "Inelegible" dans la liste déroulante pour un profil d'approvisionnement. Si vous ne cochez pas cette liste, vous ne le saurez jamais. Et aussi, si vous désactivez le débogueur comme mentionné ci-dessus, il fonctionnera avec une signature Ad-hoc. Cela cache simplement le problème, mais ne le résout pas.
HotFudgeSunday
1
[À quiconque cela peut être utile] J'utilise Fastlane et j'ai résolu ce problème en supprimant le iPhone Developer: <My Name> (XXXXXX)certificat dans Keychain Access car il serait automatiquement créé (je ne sais pas comment ni quand) par Xcode. Toutes mes erreurs ont été instantanément corrigées après leur suppression.
gabuchan
Veuillez noter qu'il est toujours possible de lancer avec une signature de distribution en utilisant la solution Nastya Gorban et Rio Weber avec Ask on Launch .
Cœur
J'ai eu ce problème depuis jeudi la semaine dernière, je n'arrive pas à le résoudre. J'ai tout essayé, mettre à jour Xcode, mettre à jour le Mac, démarrer un nouveau projet, supprimer le développeur iPhone et le laisser créer à nouveau, me connecter / déconnecter avec différents utilisateurs, essayer un autre compte, etc., des suggestions?
Ryan Holton
207

Cela se produit en utilisant Xcode 9.x ou plus récent.

J'ai suivi ce problème jusqu'à la case à cocher " debug executable " dans le schéma de produit (product-> schéma-> modifier le schéma-> info-> debug executable checkbox). J'ai décoché cela et cela a cessé de se produire (ainsi que quelques autres problèmes étranges - aucune sortie dans la console n'en est un).

Brian M
la source
19
Cela fonctionne mais le débogage a été désactivé. Le correctif correct, lorsqu'il se produit dans XCode 9.1, consiste à accéder au portail des développeurs Apple et à créer un profil de provisionnement de développeur. Ensuite, dans les paramètres du projet, j'ai utilisé celui-ci (au lieu de celui automatique) pour l'exécuter et cela fonctionne très bien! On dirait que la gestion automatique des profils d'approvisionnement ne fonctionne pas aussi bien. J'ai également dû utiliser un profil AdHoc pour télécharger sur HockeyApp.
Edward B
Edward B - l'utilisation d'un profil d'approvisionnement manuel ne résout pas le problème pour moi. Même erreur - lancement refusé.
Brian M
Hmm, avez-vous essayé le profil de développement vs le profil de distribution? C'est aussi un problème (ce n'était pas avant d'utiliser simplement automatique)
Edward B
1
J'utilise un profil de développement - je suis nouveau dans le développement iOS et je n'ai encore rien distribué. Dois-je essayer un profil de distribution? C'est sûrement un bug ou des bugs et n'est-ce pas ainsi que ce truc est censé fonctionner? Incroyablement frustrant quand les choses fonctionnent un jour et pas le lendemain. Difficile de déboguer les notifications push lorsque le simulateur ne les fait pas et que vous ne pouvez pas faire fonctionner votre application sur un appareil réel!
Brian M
Ouais, je dois dire qu'il est assez courant que des trucs se cassent comme ça. Soit Xcode, iTunesConnect ou le système d'exploitation lui-même. Heureusement, il y a une grande communauté et des solutions de contournement, mais c'est toujours frustrant. Si vous avez déjà ajouté le profil de développement en tant que manuel, je ne suis pas entièrement sûr. Si vous n'y avez pas ajouté manuellement l'UDID de votre appareil, vous pouvez également essayer cela et générer à nouveau le profil de provisionnement et le télécharger, ce qui pourrait aider. Ce problème est assez étrange, mais il est toujours bon d'essayer pour ne pas avoir à désactiver le débogage.
Edward B
66

J'ai une solution de contournement:
si vous changez le schéma en « Demander au lancement », cela fonctionne.


Dans la barre supérieure Xcode

Product > Scheme > Edit Scheme > 'Info' tab > Executable:  "Ask on Launch"

http://upload-images.jianshu.io/upload_images/663014-d5d182e310052664.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240


C'est un peu ennuyeux mais ça marche.

Rio Weber
la source
1
J'ai l'impression que ce n'est qu'un problème dans la dernière version de Xcode, cela n'a commencé à m'arriver qu'après la mise à jour. (-v 9.2)
Rio Weber
3
BTW, ne le faites qu'APRÈS avoir déjà essayé d'exécuter l'application de la manière habituelle. D'autres, l'application ne sera pas là pour "demander".
Rio Weber
Solution de contournement plus simple pour les mêmes résultats: décochez simplement " Debug executable " dans le schéma.
Cœur
Cela ne résout pas le problème pour moi :(
Ryan Holton
35

Ce problème peut être résolu en décochant Debug Executable dans Edit Scheme.

entrez la description de l'image ici

Binshad
la source
1
Pour accéder à la section ci-dessus dans XCode, allez dans le menu Produit> Modifier le schéma (onglet Exécuter).
mehdi
1
Attention - cela a désactivé le journal de débogage qui peut être très utile!
George_E
26

Après avoir reçu l'erreur "Demande de lancement refusée", procédez comme suit:

Modifier le schéma -> Info -> Exécutable -> Demander au lancement

Cela a fonctionné pour moi avec un profil adhoc.

Nastya Gorban
la source
1
Solution de contournement plus simple pour les mêmes résultats: décochez simplement " Debug executable " dans le schéma.
Cœur
16

Le simple redémarrage de l'iPhone m'a aidé.

Antonin Charvat
la source
15

Le problème pour moi était que j'utilisais un compte développeur gratuit (simplement connecté avec mon identifiant Apple). En regardant les journaux de l'appareil que j'ai trouvés (gras ajouté)

(Demande refusée); raison: "La demande a été refusée par le délégué de service (SBMainWorkspace) pour la raison: Sécurité (" Impossible de lancer {com.my.bundleID} car il a une signature de code non valide, des droits inadéquats ou son profil n'a pas été explicitement approuvé par l' utilisateur ")"

Cela m'a fait réaliser que je devais entrer dans Settings-> General-> Device Management-> {My Apple ID}->Trust

Après cela, tout a fonctionné comme prévu.

Dans les versions précédentes d'iOS, je rencontrais une boîte de dialogue sur mon appareil qui me disait que c'était le problème. Peut-être qu'Apple l'a retiré pour iOS 11. 🤔

Monsieur Rogers
la source
Cela pourrait être corrigé dans Xcode 9.3. J'obtiens maintenant une boîte de dialogue d'erreur mieux définie qui m'indique d'accepter le certificat. Yay!
Mr Rogers
Cette solution fonctionne bien pour moi
Shahin ShamS
Merci d'avoir résolu mon problème.
Blarzek il y a
11

Pour moi, le problème était dû à la signature du code de l'application avec un profil Ad hoc.

Après avoir changé la signature du code en profil développeur, à partir de l'onglet général des paramètres xcode, le problème ci-dessus a été résolu.

Shyam
la source
11

J'ai eu ce problème récemment et j'ai trouvé la solution à ce problème fou. Il s'agit du problème de schéma pour résoudre ce problème, suivez les étapes suivantes.

  1. Cliquez sur l'onglet Navigateur supérieur Modifier le schéma.

entrez la description de l'image ici

  1. Cliquez sur Info dans le menu Exécuter.
  2. Dans la liste déroulante Exécutable, sélectionnez l'option "Demander au lancement" -> Puis fermez et exécutez la construction une fois.

entrez la description de l'image ici

Cela a résolu mon problème lorsque j'ai eu ce problème.

Référence Apple

KameshiOS
la source
A travaillé avec Xcode 9.3! Pour moi, cela s'est produit lors du passage de la signature de code automatique à la signature manuelle.
Jan Schlorf
9

J'ai obtenu cela avec Xcode 9.0 lors du déploiement sur un iPhone 6s non simulé avec iOS 10.3.

J'ai dû quitter l'application de force juste avant que cela ne se produise. Sinon, rien n'avait changé; toutes les informations d'identification de signature du développeur étaient toujours approuvées et l'application était toujours marquée Vérifiée dans les paramètres de l'iPhone.

L'astuce qui a résolu le problème était d'éteindre l'iPhone, puis de le rallumer.

En regardant mes journaux, il semble qu'il a applicationWillTerminateété déclenché un certain temps avant que cela ne se produise; l'instance de l'application que je pensais avoir forcée à quitter doit avoir été un processus zombie?

chbrown
la source
1
J'ai fini par redémarrer mon téléphone et il a redémarré. L'arrêt forcé n'a pas aidé.
Scott
7

Le problème est que Xcode « fois sur » après certaines secondes. Le correctif consiste à modifier le schéma et à demander à xcode d '«attendre» jusqu'à ce que l'exécutable soit lancé.

Dans Modifier le schéma, cochez " Attendre le lancement de l'exécutable " au lieu de "Automatiquement"

AK
la source
6

J'ai lu attentivement toutes les réponses mais elles ne m'aident pas. Ma solution:

  1. Allez dans les préférences Xcode, sélectionnez les comptes (⌘ +,)
  2. Sélectionnez votre identifiant Apple, choisissez l'équipe et cliquez sur Gérer les certificats
  3. Dans le menu contextuel dans le coin inférieur gauche, cliquez sur le bouton + et sélectionnez Développement iOS, puis cliquez sur terminé et fermez la fenêtre contextuelle
  4. Essayez de relancer l'application, maintenant ça devrait aller.
Nikita Haiko
la source
4

Cela peut provoquer une mauvaise branche avec Git, assurez-vous que la branche que vous changez n'est pas trop ancienne (car cela peut causer un problème de signe de code), Et sur la bonne branche si cela vous dérange toujours, sélectionnez le profil de provisioning de développement sous Signature (Debug) sinon, gérer automatiquement la signalisation.

teinture
la source
3

Cochez simplement "Gérer automatiquement la signature" dans Général -> Propriétés de signature de la cible. Il créera un profil de provisioning de développement pour vous et l'exécution sur l'appareil fonctionnera.

Anton Malyshev
la source
3

Ces étapes simples m'ont aidé.

  1. Retirez votre iPhone, iPad connecté du mac.
  2. Redémarrez votre appareil.
  3. Sélectionnez "Gérer automatiquement la signature" dans les paramètres Xcode.
  4. Reconnectez votre iPhone, iPad.
iPhoneDéveloppeur
la source
2

Je suis confronté à ce problème sur Xcode 9.1

Scénario: J'ai coché l'option «Se connecter via le réseau» pour l'appareil. Et en essayant d'exécuter l'application sur cet appareil avec un câble USB connecté.

Correction: retirez simplement le câble USB et exécutez.

Ganpat
la source
2

J'ai essayé toutes les réponses, rien n'a fonctionné pour moi, le problème vient de Xcode lui-même et n'a rien à voir avec les profils et le certificat:

Produit> Schéma> Modifier le schéma

Dans Exécuter (section) / info (onglet) [sélectionnez] la version au lieu de déboguer comme configuration de construction comme suit:

entrez la description de l'image ici

C'est une régression depuis Xcode 10.1


Config: Xcode Version 10.1 (10B61) Iphone X / IOS 12.1.4

A.HEDDAR
la source
J'en suis plus ou moins à la même conclusion. Je l'ai essayé avec différents comptes, j'ai renouvelé tous les certificats et essayé littéralement toutes les réponses données à cette question. Le résultat est toujours le même, cela ne fonctionne tout simplement pas. Mon équipement: macOS Mojave, Version 10.14.3, iPhone SE avec iOS 12.1.4, Xcode 10.1 (10B61)
ackh
Avec cette astuce, je suis capable de lancer l'application sur l'iphone, mais il semble que l'application fonctionne partiellement et se bloque dès que j'ai appuyé sur un bouton
bloque appuyé
Tout va bien depuis le passage au 10.14.4 (18E226)
A.HEDDAR
1

J'ai eu le même problème . C'est un bogue dans Xcode 9.1. Il existe une astuce pour que cela fonctionne pour le moment. Verrouillez votre téléphone. Exécutez le code. Xcode demandera de déverrouiller l'iPhone.

Dilip Kumar
la source
1

J'ai juste effacé les profils avec le configurateur Apple, redémarré l'iDevice et travaillé à nouveau comme d'habitude.

rockdaswift
la source
1

C'est un bogue intermittent dans Xcode - je viens d'arrêter et de démarrer tous mes appareils et cela a fonctionné comme par magie (après avoir déconné pendant 1/2 heure), j'avais mis à jour MacOS du jour au lendemain à 10.13.04, ce qui a évidemment bouleversé quelque chose! Xcode 9.3, iOS 11.3 watchOS 4.3

alan.raceQs
la source
1

Laissez-moi vous dire une solution de contournement qui résout mon problème:

  • Étape 1: Windows> Appareils et simulateur.
  • Étape 2: dissociez l'appareil.
  • Étape 3: reconnectez l'appareil et faites confiance.
  • Étape 4: exécutez l'application. BINGO.
Ravi Kant Bagoria
la source
1

Pour moi, ce problème était lié à un certificat d'entreprise installé manuellement et à la nécessité de l'utiliser pour les schémas de développement et de publication. Je devais faire confiance au certificat sur l'appareil avant qu'il autorise le lancement de l'application, mais il ne se lancerait jamais car je continuais à recevoir ce message refusé. Finalement, éditer le schéma et le configurer pour attendre que l'application soit attachée avant le débogage a fait l'affaire.

Lee Probert
la source
1

Ouvrez le App Groupsdans Capabilities, attendez App...efficace , puis fermez le App Groups, cela a fonctionné:

entrez la description de l'image ici

JM.TD
la source
Ça a marché! Cette chose recrée un profil d'approvisionnement cassé. Je viens de découvrir cela et je suis venu ici pour poster ceci comme réponse, mais vous m'avez battu à ce sujet😄
ZigDanis
Je ne sais pas où trouver les groupes APP!
A.HEDDAR
1

Après avoir vu toutes les solutions proposées sur le Web, j'en ai finalement trouvé une et voici celles-ci:

  • Une erreur se produit car elle rend Runner confus quant au profil à utiliser.
  • Vous obtiendrez le plus souvent cette erreur lorsque vous aurez ajouté un nouveau compte dans le profil dans Xcode> Cibles> Signature.
  • Vous pouvez supprimer cette erreur en utilisant simplement avant un profil.
  • Il n'est pas nécessaire de créer de nouveaux utilisateurs.
  • ou vous pouvez vous connecter avec le compte que vous utilisez dans le profil de votre iPhone (je l'ai fait!)

Jours heureux :)

Brijesh Lakkad
la source
1

Au cas où ce problème se produirait pour vous quelques jours avant aujourd'hui, 2019-mars-20, il est très probablement lié au fait que des certificats de signature de code défectueux ont été émis. Dans ce cas, vous devriez pouvoir le résoudre en recréant simplement le certificat de signature de code. Cette question SO a déjà une réponse qui vous explique comment faire .

ackh
la source
1

Je ne sais pas s'il s'agit d'un correctif ou simplement d'une autre solution de contournement, mais la désinstallation de l'application de mon appareil a aidé. Je ne sais toujours pas ce qui l'a causé, mais la réponse de @MrRogers m'a aidé à comprendre.

Dragas
la source
0

Aujourd'hui, je rencontre aussi cette question, c'est ma façon de résoudre. Xcode 9.0, iPhone 6s, gérer automatiquement la signature avec mon compte. Lorsque je sélectionne "iPhone 6s", j'ai trouvé qu'il y avait un logo après l'iPhone 6s. C'est la nouvelle fonction de Xcode 9.0 qui permet d'exécuter une application sur l'iPhone sans une chaîne connectée à l'ordinateur (iPhone et Mac doivent se connecter au même réseau). Donc, j'essaye de changer ce type de connexion. Ouvrez "Périphériques et simulateurs" -> désélectionnez "Se connecter via le réseau" Et puis, je nettoie, reconstruit et lance mon projet. Cela fonctionne! Je serai heureux si cette méthode peut vous aider.

PaulPaulBoBo
la source
Tu as de la chance. Cela n'a eu aucun effet sur mon problème de "lancement refusé". Je préfère être chanceux qu'intelligent.
Wayne Henderson
Bonne chance à vous basé sur l'intelligence.
PaulPaulBoBo
0

Cette erreur s'est produite pour moi lors de la mise à niveau d'un projet Xcode 8 pour s'exécuter dans Xcode 9, mais le SDK de base iOS dans les paramètres de construction est toujours à la version précédente d'iPhoneOS10.3.sdk et indique que le SDK est introuvable. Cependant, cette application se construit et s'exécute toujours sur un appareil mais ne parvient pas à se lancer. La mise à jour du SDK de base iOS vers iOS 11.0 résout ce problème de lancement.

Wasabinz
la source
0

J'ai eu un problème similaire et dans mon cas, le problème était dans les paramètres de construction de ma cible. Le type Mach-O a été réglé sur "Dynamic Library" au lieu de " Executable ".

Jleuleu
la source
0

J'ai rencontré ce problème lors de l'exécution d'une ancienne base de code. Je viens de désactiver l'option de récupération en arrière-plan d'EditScheme, cela a fonctionné.

Modifier le schéma -> Onglet Options -> Désactiver la récupération en arrière-plan

Suresh Durishetti
la source