Distribution ad-hoc d'applications iPhone

ChachaChacha Membre
Salut,

Une fois n'est pas coutume, je n'ai pas trouvé la réponse dans la doc Apple !
Voici : dans ma boà®te, nous allons créer de petites applications pour iPhone/iPodTouch. Nous ne les vendrons pas, ce seront simplement des compagnons optionnels pour nos clients disposant d'un iPhone/iPodTouch. Exemple : nous avons un logiciel que nous vendons, et l'iPhone/iPodTouch pourra en bonus servir de télécommande.
D'après le tableau comparatif (http://developer.apple.com/iphone/program/apply.html) il nous faut nous inscrire au programme iPhone "Standard". ("Entreprise" n'est pas adapté, nous sommes moins de 10 employés).
La distribution par AppStore ne sera pas forcément pratique, car cela obligera nos clients à  avoir un compte iTunes Store (oui, bon, en même, temps, s'ils ont un iPhone/iPodTouch... mais j'en connais qui n'aimeraient pas).
Alors quand je vois "distribution ad hoc", je me dis, chouette. Mais comment marche-t-elle ? Comment upload-t-on une application sur l'iPhone/iPodTouch dans ce cas ? J'ai vu qu'il y a une limite à  100 clients, mais par quel comment marche le compteur ? Ce compteur se base-t-il sur l'identifiant de l'application, ou est-il réinitialisé à  chaque mise à  jour du numéro de version ?
Vous qui vous êtes déjà  inscrit au programme de dev, comment le fait de s'inscrire peut-il autoriser à  distribuer une appli ad hoc ? (est-ce juste parce que l'on bénéficie alors d'un identifiant numérique pour signer le code ?)

+
Chacha
«1

Réponses

  • al33eral33er Membre
    03:19 modifié #2
    salut ChaCha.

    Pour la distribution ad hoc, c'est plutôt simple.

    Il faut récupérer les identifiants de leur iphone (via itunes en faisant clic gauche sur numéro et copier (ctrl V sur PC ou cmd V sur mac)

    Il t'envoie le code hexa (40 caractères je crois).
    Dans le module de distribution sur le site apple  :
    http://developer.apple.com/iphone/manage/distribution/distribution.action.

    Il faut créer le provisionning profile ad hoc, créer les devices avec les numéros des iphones reçus, et ensuite ajouter les devices au provisionning profil adhoc.

    Télécharger ensuite le profil et le glisser dans Xcode.

    Compiler l'application en mode distribution.

    Récupérer le .app dans app/build/Distribution-iphoneos le mettre dans un zip
    ajouter le profil téléchargé dans le zip

    Envoyer le zip aux personnes qui ont les iphones déclarés

    Surtout ils dezippent les fichiers et ensuite font un glisser dposé dans iTunes.

    L'application s'installe et ensuite ils synchronisent leurs iPhones.

    Voila la procédure.

    A bientôt.

    Alex. 


  • ChachaChacha Membre
    03:19 modifié #3
    dans 1231971890:

    Pour la distribution ad hoc, c'est plutôt simple.

    Ok, merci, je comprends la logique du truc, maintenant.

    Et pour la limite à  100 clients, ça se passe comment ? C'est une limite par build ou par identifiant d'application (en gros, si je recompile, est-ce que je m'octrois 100 clients de plus) ?

    +
    Chacha
  • yodarkyodark Membre
    03:19 modifié #4
    La limitation de 100 users n'est pas par build ni par application c'est au total et par compte.

    Donc 100 UDID donc (iPhones) au max en tout et pour tout.
  • ChachaChacha Membre
    03:19 modifié #5
    dans 1232108692:

    La limitation de 100 users n'est pas par build ni par application c'est au total et par compte.

    Donc 100 UDID donc (iPhones) au max en tout et pour tout.


    Mais...comment c'est possible, ça, je ne comprends pas ?! Quel est l'intérêt ? Ou alors ça veut dire que pour ces 100 clientss je peux filer autant d'applications Ad-hoc que je veux ?

    +
    Chacha
  • LastikoLastiko Membre
    03:19 modifié #6
    oui
  • yodarkyodark Membre
    03:19 modifié #7
    Le but de la manoeuvre d'Apple est très simple.

    Les 100 numéro sont "donnés" pour faire du beta test. Apple ne veut pas que les applications soient vendues ou distribuées sans passer par l'App Store.

    Seul alternative le jailbreak
  • LastikoLastiko Membre
    03:19 modifié #8
    ^^^^lala :D
  • maxi_moussemaxi_mousse Membre
    novembre 2009 modifié #9
    Je me permet de remonter le sujet.

    Je suis confronté un peu au même problème que chacha, le fait est que je dois permettre à  un futur client de tester l'appli sur son iphone(ipod), en lui envoyant l'appli par mail.

    Je suis les étapes décrites ici http://developer.apple.com/iphone/manage/distribution/distribution.action
    (qui correspondent à  celles décrites un peu + haut par Alex), mais au moment de cliquer glisser le fichier .mobileprovision dans itunes, je reçois systématiquement : " 'monprofil' n'a pas été copié sur l'iPod 'machintruc' car il est impossible de l'y lire. "

    Je m'arrache les cheveux. J'y comprend rien avec ces histoires de profils et de certificats ! Quelqu'un est-il en mesure de m'aider s'il vous plaà®t ?

    Merci.
  • adsads Membre
    03:19 modifié #10
    ("Entreprise" n'est pas adapté, nous sommes moins de 10 employés).


    il faut vraiment etre plus de 500 pour souscrire a ce programme ?
    questions a deux balles liees, et dans le programme enterprise, on doit soumettre son appli a Apple aussi ?
  • muqaddarmuqaddar Administrateur
    03:19 modifié #11
    dans 1231971890:

    salut ChaCha.

    Pour la distribution ad hoc, c'est plutôt simple.

    Il faut récupérer les identifiants de leur iphone (via itunes en faisant clic gauche sur numéro et copier (ctrl V sur PC ou cmd V sur mac)

    Il t'envoie le code hexa (40 caractères je crois).
    Dans le module de distribution sur le site apple  :
    http://developer.apple.com/iphone/manage/distribution/distribution.action.

    Il faut créer le provisionning profile ad hoc, créer les devices avec les numéros des iphones reçus, et ensuite ajouter les devices au provisionning profil adhoc.

    Télécharger ensuite le profil et le glisser dans Xcode.

    Compiler l'application en mode distribution.

    Récupérer le .app dans app/build/Distribution-iphoneos le mettre dans un zip
    ajouter le profil téléchargé dans le zip

    Envoyer le zip aux personnes qui ont les iphones déclarés

    Surtout ils dezippent les fichiers et ensuite font un glisser dposé dans iTunes.

    L'application s'installe et ensuite ils synchronisent leurs iPhones.

    Voila la procédure.

    A bientôt.

    Alex. 



    Et donc, si on travaille pour un client qui veut de la distribution Ad Hoc, il vaut mieux passer par notre compte ou lui faire ouvrir un compte ?

    Je vois mal certains clients faire tout ceci !!! Surtout si ils n'ont pas de Mac... ;)
  • AliGatorAliGator Membre, Modérateur
    03:19 modifié #12
    Moi j'utilise mon compte.
    Ils me fournissent leur UDID de leur iPhone, je le rajoute dans la liste de mes devices, je génère avec ça un Distribution Profile (différent d'un Development Profile, me suis fait avoir la première fois ;D), et je leur fournit l'application compilée dans un ZIP, avec le Distribution Provisionning Profile à  côté, comme ça ils peuvent installer sur leur iPhone et tester.
  • LastikoLastiko Membre
    03:19 modifié #13
    Perso , les provisionning profiles me font toujours peter une case

    j'ai donc opter pour un truc moins catholique (jailb....) et la par contre ca va super vite et plus aucun soucis de durer de vie du profile

    Pour info , j'ai eu y a quelque temps le tech support pour iphone en ligne , et la license entreprise n'est donnee qu'a des entreprises de 500 employes ou plus
    Ils demandent des infos dans tout les sens

    Il y a rien a faire , ils veulent pas .... meme en tentant la corruption du tech support y a rien a faire  :P
  • AliGatorAliGator Membre, Modérateur
    03:19 modifié #14
    Il me semble (j'ai un pote qui a fait ça) qu'il existe l'alternative intermédiaire : une licence à  $99, pour une petite entreprise, c'est à  dire exactement comme une licence "normale" à  $99, sauf que le nom qui est associé est le nom de l'entreprise (et non pas le nom d'une personne physique), et qu'on peut rajouter des personnes dans une team.

    C'est ainsi que j'avais été rajouté dans la team d'un pote, en utilisant mon compte ADC gratuit perso, pour me permettre de développer pour lui, alors qu'il n'a qu'une licence standard pour sa boite.
  • muqaddarmuqaddar Administrateur
    03:19 modifié #15
    dans 1257417098:

    Moi j'utilise mon compte.
    Ils me fournissent leur UDID de leur iPhone, je le rajoute dans la liste de mes devices, je génère avec ça un Distribution Profile (différent d'un Development Profile, me suis fait avoir la première fois ;D), et je leur fournit l'application compilée dans un ZIP, avec le Distribution Provisionning Profile à  côté, comme ça ils peuvent installer sur leur iPhone et tester.


    Les profils de distribution doivent-ils être mis à  jour aussi en distri ad-hoc ?

    Si on utilise notre compte, et qu'un jour on veut ne plus s'occuper d'un projet mais qu'il soit "modifiable" pour le client, n'est-on pas coincé ?
  • AliGatorAliGator Membre, Modérateur
    03:19 modifié #16
    Si.
    Sauf qu'en général, le client est demandeur du code mais aussi en a au final aussi la propriété intellectuelle, en tout cas c'est souvent comme ça que ça se passe. Du coup tu es tenu de lui livrer le code source. S'il veut alors le modifier, c'est à  lui de se débrouiller, modifier le code lui-même et prendre un abonnement de Développeur iPhone pour publier l'appli modifiée, etc... bref reprendre la main dessus.
    Si la période de maintenance que tu garantis au client est dépassée, à  lui de se débrouiller s'il veut modifier l'appli, et donc aussi la republier, ce n'est plus de ta responsabilité, donc il suffit qu'il bascule sur son ProvProfile à  lui.
  • LastikoLastiko Membre
    03:19 modifié #17
    dans 1257423994:

    dans 1257417098:

    Moi j'utilise mon compte.
    Ils me fournissent leur UDID de leur iPhone, je le rajoute dans la liste de mes devices, je génère avec ça un Distribution Profile (différent d'un Development Profile, me suis fait avoir la première fois ;D), et je leur fournit l'application compilée dans un ZIP, avec le Distribution Provisionning Profile à  côté, comme ça ils peuvent installer sur leur iPhone et tester.


    Les profils de distribution doivent-ils être mis à  jour aussi en distri ad-hoc ?

    Si on utilise notre compte, et qu'un jour on veut ne plus s'occuper d'un projet mais qu'il soit "modifiable" pour le client, n'est-on pas coincé ?


    Si ca risque de coincer , je pense
    la distri AdHoc sert juste a tester en faites  et n'est valable que un an en plus
    la reponse d'apple est claire " vous avez qu'a le mettre sur l'apple store "


    Ali la version entreprise a 99$ tu as toujours le meme probleme de limitation a 100 iphones et toujours le probleme de durer de vie , mais effectivement tu peux rajouter des personnes dans la team.
  • muqaddarmuqaddar Administrateur
    03:19 modifié #18
    dans 1257424276:

    Si.
    Sauf qu'en général, le client est demandeur du code mais aussi en a au final aussi la propriété intellectuelle, en tout cas c'est souvent comme ça que ça se passe. Du coup tu es tenu de lui livrer le code source. S'il veut alors le modifier, c'est à  lui de se débrouiller, modifier le code lui-même et prendre un abonnement de Développeur iPhone pour publier l'appli modifiée, etc... bref reprendre la main dessus.
    Si la période de maintenance que tu garantis au client est dépassée, à  lui de se débrouiller s'il veut modifier l'appli, et donc aussi la republier, ce n'est plus de ta responsabilité, donc il suffit qu'il bascule sur son ProvProfile à  lui.


    Merci pour ces infos. C'est somme toute assez logique.
  • AliGatorAliGator Membre, Modérateur
    novembre 2009 modifié #19
    dans 1257424637:
    Ali la version entreprise a 99$ tu as toujours le meme probleme de limitation a 100 iphones et toujours le probleme de durer de vie , mais effectivement tu peux rajouter des personnes dans la team.
    Je parlais du Distribution Provisionning Profile pour l'AppStore, pas pour le mode AdHoc. Bien sûr si tu as livré l'application à  ton client, si ce client veut la mettre sur l'AppStore, et surtout remodifier ton code source plus tard et mettre une mise à  jour sur l'AppStore, c'est à  lui de payer la licence pour ;)
  • ClicCoolClicCool Membre
    03:19 modifié #20
    dans 1257417098:

    Moi j'utilise mon compte.
    Ils me fournissent leur UDID de leur iPhone, je le rajoute dans la liste de mes devices, je génère avec ça un Distribution Profile (différent d'un Development Profile, me suis fait avoir la première fois ;D), et je leur fournit l'application compilée dans un ZIP, avec le Distribution Provisionning Profile à  côté, comme ça ils peuvent installer sur leur iPhone et tester.


    Si j'ai bien compris c'est une bonne solution pour permettre à  un client de tester.
    Mais pas pour l'exploitation de ton soft car de toutes façons il risque d'être bloqué à  chaque fois qu'il change d'aillePhone.
    Il vaut donc mieux en effet qu'il prenne "possession" du soft et s'inscrive lui même chez Apple ...
    Bref c'est pas bien souple toutes ces contorsions pour livrer une appli verticale à  l'usage exclusif d'une entreprise...  :-\\
  • yoannyoann Membre
    03:19 modifié #21
    dans 1257434226:

    dans 1257417098:

    Moi j'utilise mon compte.
    Ils me fournissent leur UDID de leur iPhone, je le rajoute dans la liste de mes devices, je génère avec ça un Distribution Profile (différent d'un Development Profile, me suis fait avoir la première fois ;D), et je leur fournit l'application compilée dans un ZIP, avec le Distribution Provisionning Profile à  côté, comme ça ils peuvent installer sur leur iPhone et tester.


    Si j'ai bien compris c'est une bonne solution pour permettre à  un client de tester.
    Mais pas pour l'exploitation de ton soft car de toutes façons il risque d'être bloqué à  chaque fois qu'il change d'aillePhone.
    Il vaut donc mieux en effet qu'il prenne "possession" du soft et s'inscrive lui même chez Apple ...
    Bref c'est pas bien souple toutes ces contorsions pour livrer une appli verticale à  l'usage exclusif d'une entreprise...  :-\\


    Bah pour la distribution à  une entreprise il y a justement le inHouse du compte Entreprise...

    Je pense pas que la limite des 500 soit réel, le plus simple c'est de contacter Apple, ils sont réactif pour ce genre de question
  • groumpfgroumpf Membre
    03:19 modifié #22
    dans 1257417098:

    Moi j'utilise mon compte.
    Ils me fournissent leur UDID de leur iPhone, je le rajoute dans la liste de mes devices, je génère avec ça un Distribution Profile (différent d'un Development Profile, me suis fait avoir la première fois ;D), et je leur fournit l'application compilée dans un ZIP, avec le Distribution Provisionning Profile à  côté, comme ça ils peuvent installer sur leur iPhone et tester.


    Juste pour etre sur, c'est bien un profile distribution "ad hoc" qu'il faut ?

    Je veux tester le fait d'installer l'appli sur un iphone sans passer par XCode (pour un client).
    Donc j'ai déclaré l'iphone, fait un profile et recompilé l'appli.
    Ensuite dans itunes je drag-drop l'application depuis la page de synchro vers une page de l'iphone, mais j'ai une erreur de privilèges.
    J'ai bien dragdroppé le profile dans itunes avant.
    Ce qui est bizarre aussi c'est que je n'ai pas d'icone d'application alors que quand j'utilise XCode et l'iphone je l'ai bien.

    Il y a un truc dont je ne suis pas sur non plus c'est l'identifier de l'appli, c'est ce que vous appelez le bundle identifier je crois, en fait on peut mettre n'importe quoi ? C'est pas lié a l'AppID qu'on a utilisé dans le profile ?
    (j'ai regardé d'autre threads mais je suis un peu paumé...)

    Merci pour vos lumières.
  • AliGatorAliGator Membre, Modérateur
    03:19 modifié #23
    Si le Bundle Identifier doit être lié à  l'AppID que l'on met. Ca doit être le même, genre "com.mycompany.myapp" dans les deux (parfois l'AppID est présenté avec un hash devant genre "x7hGbF2z.com.mycompany.myapp" : fait comme si le "x7hGbF2z." n'était pas présent et ne considère que "com.mycompany.myapp).
    Si besoin, il est possible de mettre un joker dans l'AppID, genre "com.mycompany.*", qui fonctionnera du coup avec tous tes projets ayant un bundle identifier commençant par "com.mycompany.quelquechose"

    Après avoir rajouter tes Devices, ton AppId, et généré un "Distribution Profile" en ayant bien choisi "Ad Hoc", coché les devices et l'appID à  utiliser pour ce profile, puis bien sûr compilé ton appli dans Xcode en utilisant le bon bundle identifier correspondant à  l'AppID choisi et en utilisant surtout ce Distribution Profile, tu peux fournir l'appli compilée (ZIP du ".ipa") accompagné du Distribution Profile à  ton client.

    Pour recompiler ton appli dans Xcode en utilisant le Distribution Profile, il faut bien changer les réglages de Code Signing dans les settings du projet (ou du target). Le plus simple étant de dupliquer la configuration "Release" et de modifier le Code Signing pour utilise le Distribution Profile.
    Il te sera certainement nécessaire aussi de créer un Entitlements.plist et de l'utiliser.

    Toutes ces étapes sont décrites dans le iPhone Dev Portal dans les How-To.
  • groumpfgroumpf Membre
    03:19 modifié #24
    Merci pour ta réponse.

    Bon a priori je fais tout ça. Je vais revérifier.
    Je n'ai pas de Entitlements.plist, c'est peut-être ça le problème (vu que je ne sais pas ce que c'est ...)

    Pfff quelle galère quand même, toutes ces manips et ces tonnes de doc à  lire  :'(   courage !
  • groumpfgroumpf Membre
    03:19 modifié #25
    Youpi ça marche  :D

    Merci de m'avoir repointé sur la doc Apple, parfois j'ai la flemme de lire l'anglais ...

    J'ai bien le logo sur l'appli dans l'iphone mais pas dans itunes, bon, pas hyper grave.
  • AliGatorAliGator Membre, Modérateur
    03:19 modifié #26
    Ca c'est normal pour l'icône, ce n'est pas la même qui est utilisée.
    L'icône de ton appli qui s'affiche dans l'iPhone c'est Icon.png, et elle fait 57x57 je crois de mémoire.
    Celle utilisée par iTunes peut être vachement plus grande (128x128 ? plus ? je sais plus) et doit être un fichier JPG qui s'appelle "Artwork" (sans extension ".jpg" à  la fin).

    C'est mis dans la doc aussi, mais là  encore faut trouver avec la tonne qu'il y a :P
    http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/145-Publishing_Applications_for_Testing/user_testing.html#//apple_ref/doc/uid/TP40007959-CH10-SW2
  • muqaddarmuqaddar Administrateur
    03:19 modifié #27
    dans 1262709955:

    Ca c'est normal pour l'icône, ce n'est pas la même qui est utilisée.
    L'icône de ton appli qui s'affiche dans l'iPhone c'est Icon.png, et elle fait 57x57 je crois de mémoire.
    Celle utilisée par iTunes peut être vachement plus grande (128x128 ? plus ? je sais plus) et doit être un fichier JPG qui s'appelle "Artwork" (sans extension ".jpg" à  la fin).


    C'est un fichier de 512x512... je l'envoie en JPG mais je crois qu'un autre format est recommandé.
    Le mien s'appelle n'importe comment... ;)
  • AliGatorAliGator Membre, Modérateur
    03:19 modifié #28
    cf en fait le lien que j'ai mis plus haut expliquant toutes les étapes.

    Dans "Adding the iTunes Artwork to Your Application", c'est bien dit
    This artwork must be a 512 x 512 JPEG or PNG file named iTunesArtwork. Note that the file must not have an extension.
    donc en effet ça peut être PNG tout aussi bien que JPG, et ça doit non pas s'appeler Artwork, mais iTunesArtwork.
  • muqaddarmuqaddar Administrateur
    03:19 modifié #29
    dans 1262712464:

    cf en fait le lien que j'ai mis plus haut expliquant toutes les étapes.

    Dans "Adding the iTunes Artwork to Your Application", c'est bien dit
    This artwork must be a 512 x 512 JPEG or PNG file named iTunesArtwork. Note that the file must not have an extension.
    donc en effet ça peut être PNG tout aussi bien que JPG, et ça doit non pas s'appeler Artwork, mais iTunesArtwork.


    Ils doivent le renommer. Si le mien s'appelle toto.jpg ça marche aussi...
    Tu parles bien de ce qui est envoyé dans iTunes Connect ?
  • AliGatorAliGator Membre, Modérateur
    03:19 modifié #30
    Nope, suis encore jamais passé par iTunes Connect, je parlais pas de l'envoi de l'appli à  l'App Store, mais bien de la distribution ad-hoc (sujet de ce topic, quand même, à  la base :P) où l'on distribue nous-même le ZIP avec l'appli au client :P
  • muqaddarmuqaddar Administrateur
    03:19 modifié #31
    dans 1262715451:

    Nope, suis encore jamais passé par iTunes Connect, je parlais pas de l'envoi de l'appli à  l'App Store, mais bien de la distribution ad-hoc (sujet de ce topic, quand même, à  la base :P) où l'on distribue nous-même le ZIP avec l'appli au client :P


    Ah ok ! C'est l'icone pour iTunes pour la distri Ad-Hoc.
    Bizarre, je n'ai jamais mis ce fichier quand je donnais l'appli à  mon beta-testeur préféré... ?
    Je pensais que l'icone de 57 suffisait ?
Connectez-vous ou Inscrivez-vous pour répondre.