[Rà‰SOLU] Test sur Device : Problème entre Profile et Keychain

OckamOckam Membre
juillet 2011 modifié dans Apple Developer Programs #1
Bonjour à  tous,

J'ai dernièrement posée une première question sur votre forum et les réponses indiquées m'ont permis de bien comprendre la marche à  suivre pour développer sur iOS, cependant, à  présent, je bloque sur le test sur device.

Afin de poursuivre ma formation, un collègue m'a fournit l'ancien iPad qu'il possédait et a mis à  ma disposition son compte Developer.


Je vous explique ma démarche :

Ayant observé les informations sur ce forum et ailleurs, je suis allé sur l'assistant afin d'installer un compte developer pour mes tests.

1 : Pour la première étape, après avoir brancher l'iPad, je choisis de créer un nouveau App ID que je nomme "monTest".

2 : Pour la seconde étape, dans la mesure où mon iPad a déjà  été enregistré, je sélectionne ce dernier dans la liste des "existing Apple devise"

3 : Pour la troisième étape, il me propose d'utiliser le certificat de développement existant, cela me parait logique. Puis il me propose de rentrer un nom de "Profil Description", je remet "monTest".

4 : Il affiche les informations générales, je vérifie que l'Identifiant de l'iPad est le bon. Il mouline et m'indique que le profile a été généré.

5 : Il me fait télécharger le fichier "monTest.mobileprovision", en double-cliquant dessus cela ouvre la fenêtre Organizer sous Xcode qui affiche "monTest" dans "Provisioning Profiles" mais avec un panneau Jaune d'avertissement indiquant "A valid signing identity matching this profile could not be found in your keychain"

capturedcran20110712165.png

Pour le moment on va dire que je vais ignorer l'erreur et poursuivre.

En regardant sur l'iPad, dans Réglagesâ–ºGénéralâ–ºProfils je retrouve "monTest" dans la liste.
Je le retrouve également dans la liste "Provisioning" de l'iPad dans la fenêtre Organizer.

capturedcran20110712170.png

6 : A présent il me propose de télécharger le Certificat, je le fait.
Je double-clic dessus, fait étrange, il ne m'ouvre pas une fenêtre comme l'assistant le présente mais me l'intègre directement dans le trousseau en court à  la section "Certificats".

capturedcran20110712170.png

De plus, en allant dans la partis "Clés", à  la différence de ce qu'indique l'assistant, je n'ai rien, aucune clé.

7 : Du coup, je retourne sur Xcode pour voir si le lien compte fonctionner malgré tout :

• Dans l'Organizer, rien n'a changé, l'alerte sur le "Provisioning Profiles" indique toujours "A valid signing identity matching this profile could not be found in your keychain"

• Sur Xcode, si je vais dans les "Project Settings" pour modifier le "Any iOS", "monTest (for Application Identifiers '*')" est grisé suivis de la même phrase qu'indiqué au-dessus.

capturedcran20110712171.png

• Si j'ignore tout et que je lance sur Device, j'ai alors, bien entendu, l'erreur suivante :
"Code Sign error: The identity 'iPhone Developer' doesn't match any valid certificate/private key pair in the default keychain"


Assurément le gros du problème se trouve au niveau du keychain ( Trousseau d'accés ) mais je n'ai aucune idée de la source.

Si quelqu'un a une idée ou a pus rencontrer le même blocage, je lui en serais reconnaissant de me donner son point de vue.

Merci par avance :)
Bonne journée.




[size=12pt]""""""""""SOLUTION""""""""""[/size]



Solution partie 1 :

Déjà , sur le site d'Apple Developer, je n'utilisais pas mon propre login mais celui de mon collègue.
Cela paraissait plus simple mais en réalité cela a tout compliqué dans la suite des démarches.
Il m'a créé un compte admin avec mon Apple ID ce qui m'a permit de me connecter sous mon compte perso.


Solution partie 2 :

Du coup, comme j'étais connecté sous mon nom propre, j'ai pus créer mon propre certificat et non utiliser celui de mon collège.

Pour cela je suis aller dans la section Certificat, j'ai créé un nouveau Certificat avec le bouton "Request Certificate".
À ce moment-là  il demande un fichier que l'on génère en allant dans le Trousseau d'accés ( Keychain ) et en faisant Trousseau d'accèsâ–ºAssistant de certificationâ–ºDemander un certificat à  une autorité de certificat.
On indique un nom et un mail et on coche "Sauver sur le disque".

On retourne sur le navigateur, on clique sur le bouton "Choose File" et on lui donne le fichier généré par le Trousseau d'accès.
Enfin on fait "Submit" et cela génère le Certificat pour soit-même que l'on peut alors télécharger et installer en double-cliquant dessus, c'est à  ce moment-là  que l'on voit qu'il y a bel et bien une clé attaché à  ce certificat dans le trousseau.


Solution partie 3 :

Comme me l'a indiqué à  juste titre Kveen, il faut également télécharger et installer le certificat : Apple Worldwild Developer Relation Certification Authority en cliquant sur "*If you do not have the WWDR intermediate certificate installed, click here to download now." juste en-dessous de l'emplacement où on peut voir son Certificat dans la section du même nom.


Solution partie 4 :

Ce n'est pas nécessairement une raison au problème mais le Bundle Identifier est supposé être quelque chose de l'ordre de com.nomentreprise.*.


Solution partie 5 :

Du coup, après avoir créer l'App ID, lorsque je double-clique sur le fichier téléchargé du Profil et que je l'ouvre dans l'Organizer, il n'affiche aucun message d'avertissement.

Petite astuce alternative, d'ailleurs, à  ce sujet.
Dernièrement pour synchroniser le device avec le profil je passais par iTune cependant il suffit, dans l'Organizer, dans les Provisioning Profil, de sélectionner le profil et de le glisser-déposer sur la ligne indiquant le device pour l'ajouter et le synchroniser directement.

Réponses

  • AliGatorAliGator Membre, Modérateur
    02:03 modifié #2
    Bonjour Ockam,

    Désolé de ne pas apporter de réponse directement à  ton problème " car je ne fais que passer en coup de vent et n'ai pas trop le temps de répondre " mais je voulais juste te féliciter pour ton post 

    En effet, tu montres que tu as cherché, et tu nous expliques même exactement ta démarche point par point de ce que tu as essayé (là  où certains auraient juste dit "j'y arrive pas indiquez moi les étapes"). C'est assez rare pour être salué.
    On fait souvent la remarque négative aux gens qui ne font pas l'effort de chercher, mais on ne pense pas toujours à  féliciter ceux qui font les choses bien, donc là  vu comme tu as en plus très bien détaillé ta démarche, je trouvais que ça valait le coup d'être signalé  :)


    Bon courage en tout cas !
  • OckamOckam Membre
    02:03 modifié #3
    Merci AliGator pour tes encouragements :)

    Effectivement, je me dit que plus le problème est détaillée, plus grandes sont les chances que quelqu'un trouve une solution.
    Et comme ça, une fois la solution trouvée, si quelqu'un rencontre le même problème que moi, il aura accès au moyen de le résoudre ^^
  • AliGatorAliGator Membre, Modérateur
    02:03 modifié #4
    Tu as tout compris aux principes du forums. Ca parait simple, mais pourtant beaucoup de nouveaux membres ne le font pas (et je vois que tu as aussi posté dans la bonne section :D alors que ces derniers temps il y en a beaucoup qui postent n'importe où dans un forum sans relation avec leur question...), sans doute n'ont-ils pas compris l'intérêt que pourtant tu as parfaitement exposé.
    Alors plutôt que de tout le temps être dans la répression avec ceux qui ne respectent pas les règles, je me dis qu'encourager et féliciter aussi ceux qui le font, c'est bien aussi, on oublie si souvent de féliciter ceux qui sont dans les clous :P
  • laudemalaudema Membre
    02:03 modifié #5
    Pour faire avancer le Schmilblick d'un jeu dont je ne connais pas les règles: ne pourrais tu essayer de demander à  ton généreux ami de se rendre dans son application "Trousseau d'Accès" afin d'exporter son certificat que tu importerais ensuite dans ton compte ?
    Eventuellement créer un compte à  son nom sur ta machine qui serait dédié aux manips sur l'iPad. A moins que d'utiliser le compte "guest" en entrant le certificat à  chaque fois mais ça ne me semble pas une bonne solution..
    Aucune idée de si c'est légalement faisable ou dangereux ou imbécile, c'est juste pour tenter de faire avancer le schimili-schimil  ;)
  • KveenKveen Membre
    juillet 2011 modifié #6
    Je connais cette galère de certificats mais en ce moment plus pour la distribution donc on va essayer de t'aider pour le dév.

    1. Commence par aller dans Trousseau d'accès > session. En dessous, tu peux filtrer par catégorie. Regarde si tu as bien deux certificats : celui au nom du développeur et un autre qui s'appelle "Apple Worldwild Developer Relation Certification Authority". Si ce n'est pas le cas, passe à  l'étape 2 sinon à  l'étape 3.

    2. Sur le provisioning Portal télécharge les 2 certificats, celui avec le message suivant est important >>> *If you do not have the WWDR intermediate certificate installed, click here to download now.

    3. Vérifie que tes provisioning profiles sont bien incorporés dans tes certificats. D'où l'intérêt de recommencer à  zéro. Dans Xcode 4 > Organizer > provisioning profiles, tu coches "Automatic device provisioning" puis "refresh". De toute façon, ton problème signifie que le profile ne trouve pas le bon certificat. Donc, le message d'erreur devrait disparaà®tre après tout ça.  >:)

    Enfin, tu peux envoyer un message à  Apple pour qu'ils simplifient leur système de codesign qui nous fait perdre du temps alors qu'on pourrait coder  ;)
  • OckamOckam Membre
    juillet 2011 modifié #7
    Merci Kveen et laudema pour vos réponses,

    Elles m'ont bien aiguillé et du coup j'ai pus trouver la réponses ( Plutôt les réponses vue que les problèmes étaient multiples ) en voyant ça aussi du côté de mon collègue.

    Je met les réponses ci-dessous, j'en profiterais pour éditer mon post et les mettre à  la suite sur le premier message pour les développeurs qui pourraient rencontrer le même problème.


    Solution partie 1 :

    Déjà , sur le site d'Apple Developer, je n'utilisais pas mon propre login mais celui de mon collègue.
    Cela paraissait plus simple mais en réalité cela a tout compliqué dans la suite des démarches.
    Il m'a créé un compte admin avec mon Apple ID ce qui m'a permit de me connecter sous mon compte perso.


    Solution partie 2 :

    Du coup, comme j'étais connecté sous mon nom propre, j'ai pus créer mon propre certificat et non utiliser celui de mon collège.

    Pour cela je suis aller dans la section Certificat, j'ai créé un nouveau Certificat avec le bouton "Request Certificate".
    À ce moment-là  il demande un fichier que l'on génère en allant dans le Trousseau d'accés ( Keychain ) et en faisant Trousseau d'accèsâ–ºAssistant de certificationâ–ºDemander un certificat à  une autorité de certificat.
    On indique un nom et un mail et on coche "Sauver sur le disque".

    On retourne sur le navigateur, on clique sur le bouton "Choose File" et on lui donne le fichier généré par le Trousseau d'accès.
    Enfin on fait "Submit" et cela génère le Certificat pour soit-même que l'on peut alors télécharger et installer en double-cliquant dessus, c'est à  ce moment-là  que l'on voit qu'il y a bel et bien une clé attaché à  ce certificat dans le trousseau.


    Solution partie 3 :

    Comme me l'a indiqué à  juste titre Kveen, il faut également télécharger et installer le certificat : Apple Worldwild Developer Relation Certification Authority en cliquant sur "*If you do not have the WWDR intermediate certificate installed, click here to download now." juste en-dessous de l'emplacement où on peut voir son Certificat dans la section du même nom.


    Solution partie 4 :

    Ce n'est pas nécessairement une raison au problème mais le Bundle Identifier est supposé être quelque chose de l'ordre de com.nomentreprise.*.


    Solution partie 5 :

    Du coup, après avoir créer l'App ID, lorsque je double-clique sur le fichier téléchargé du Profil et que je l'ouvre dans l'Organizer, il n'affiche aucun message d'avertissement.

    Petite astuce alternative, d'ailleurs, à  ce sujet.
    Dernièrement pour synchroniser le device avec le profil je passais par iTune cependant il suffit, dans l'Organizer, dans les Provisioning Profil, de sélectionner le profil et de le glisser-déposer sur la ligne indiquant le device pour l'ajouter et le synchroniser directement.


    À noter également les vidéos qui m'ont aiguillé :
    Créer un Certificat
    Créer un Provisioning Profile


    Donc merci à  tous, je vais enfin pouvoir m'amuser avec le code à  présent :)
  • laudemalaudema Membre
    02:03 modifié #8
    dans 1310567318:


    Comme me l'a indiqué à  juste titre laudema, il faut également télécharger et installer le certificat : Apple Worldwild Developer Relation Certification Authority en cliquant sur "*If you do not have the WWDR intermediate certificate installed, click here to download now." juste en-dessous de l'emplacement où on peut voir son Certificat dans la section du même nom.


    Rendons à  César ce qui est à  Kveen: c'est à  lui que tu dois ce précieux conseil que j'aurais bien été incapable de te donner faute de développer pour un iDevice quelconque.
  • OckamOckam Membre
    02:03 modifié #9
    Effectivement, je me suis emmêlé dans les noms :)

    C'est corrigé.
Connectez-vous ou Inscrivez-vous pour répondre.