Récupérer les information du Provisioning Profile dans le code

Bonjour



Dans la page info de nos produit, on aimerai préciser si l'utilisateur possède en version de développement ou de distribution Ad Hoc ainsi que la date d'expiration du pp.



Je voudrais donc savoir s'il existe un moyen de récupérer dans le code les informations du pp ?



J'ai regarder sur le net (peut être avec de mauvais mots-clefs), mais je n'ai rien trouvé.

Pas plus sur ce forum où la question n'a pas dut être posée.



Merci de votre aide.



D.H.

Réponses

  • AliGatorAliGator Membre, Modérateur
    Il n'y a rien d'officiel sur le sujet car le format des mobileprovision n'est pas ouvert.

    Mais bon y'a moyen de se dépatouiller quand même à  priori, même si j'ai jamais essayé.



    1) Dans ton .ipa tu as toujours le provisionning profile qui est embarqué et s'appelle "embeded.mobileprovision"

    2) Un fichier ".mobileprovision" a une structure un peu obscure, mais contient entre autres au milieu de ses données binaires, un PLIST au format XML (du moins jusqu'à  présent, tant qu'Apple ne change pas le format)

    3) Dans ce PLIST au format XML, tu as diverses infos dont une clé pour le ExpirationDate



    Donc avec un peu de code il doit être possible de s'en sortir :

    - On va lire le fichier "embedded.mobileprovision" dans le mainBundle

    - On récupère le contenu de ce mobileprovision et on en extrait le texte entre "<?xml version=..." et "</plist>"

    - On utilise ce texte (le bout PLIST au format XML donc) en appelant la méthode "propertyList" dessus pour récupérer le NSDictionary correspondant à  ce PLIST

    - On peut alors utiliser le NSDictionary comme un dictionary classique pour récupérer les clés du PLIST genre la clé "ExpirationDate" pour la date d'expiration



    Pour savoir si tu es en Debug, AdHoc ou AppStore, il semble que : si la clé "ProvisionedDevices" n'est pas présente alors c'est un profil "AppStore", sinon si elle est présente mais que "Entitlements.get-task-allow" est à  YES, alors c'est du Debug (installé par Xcode) sinon c'est une "AdHoc".
  • Merci de cette réponse rapide. Je vous tient au courant des tests que je ferai dans la semaine.

    Mais comment il sait tout ça le monsieur image/huh.gif' class='bbc_emoticon' alt='???' />!!!!
  • AliGatorAliGator Membre, Modérateur
    Ca s'appelle l'expérience... et savoir chercher sur Google avec les bons termes image/tongue.png' class='bbc_emoticon' alt=':P' /> (comme "read mobileprovision")
  • 'dream a écrit:


    Mais comment il sait tout ça le monsieur image/huh.gif' class='bbc_emoticon' alt='???' />!!!!




    Suis sur que c'est un pti lutin mais qu'il veut pas le dire image/tongue.png' class='bbc_emoticon' alt=':P' />
Connectez-vous ou Inscrivez-vous pour répondre.