Récupérer les information du Provisioning Profile dans le code
dream hope
Membre
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.
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.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
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".
Mais comment il sait tout ça le monsieur /huh.gif' class='bbc_emoticon' alt='???' />!!!!
Suis sur que c'est un pti lutin mais qu'il veut pas le dire /tongue.png' class='bbc_emoticon' alt=':P' />