web-dev-qa-db-fra.com

Démission d'un profil de provisioning iOS

Mon client a une application iOS avec achat intégré, kit de jeux et notifications push activées, il est actuellement sur l'App Store. Je tiens à démissionner de l'application à l'aide d'un certificat de distribution d'entreprise interne, de tester en interne, mais peut toujours tester des services liés au profil d'approvisionnement d'origine. Est-ce possible?

18
Koko Carl

Pour démissionner une application un peu plus facile que ce que @koko Carl a dit, nous avons adapté le script floattsign, qui peut être trouvé à https://gist.github.com/weptum/540699 . Rend le processus vraiment facile:

sh floatsign.sh  ~/Downloads/File.ipa "iPhone Distribution: CertificateName" -b new.bundle.id -p /Path/To/Profile/Appstore.mobileprovision   App-resigned.ipa
4
LordT

Lors de la recherche, ceci est la première question montrée dans le flux d'empilement. Alors je voulais mettre à jour la dernière application IRESIG MAC, qui rend le travail super facile avec l'interface graphique au lieu de commandes dans le terminal.

IRESIGN

iRESIGN permet de signer ou de démissionner par un certificat numérique à partir d'un certificat numérique de Apple pour la distribution. Il peut également créer des fichiers signés IDEVICE app ensemble de fichiers .xcarchive de fichiers .xcarchive . Cet outil est destiné aux utilisateurs d'entreprises, pour le déploiement d'entreprise, lorsque la personne qui signerait l'application est différente de celle de la personne qui le développe.

Comment utiliser

iRESIGN vous permet de ré-signer tout fichier IPA non crypté avec n'importe quel certificat pour lequel vous détenez la clé privée correspondante. IRESIGN peut également créer un fichier IPA signé à partir d'un fichier XCarchive.

Faites glisser votre fichier .ipa ou an .xcarchs non signé dans la zone supérieure ou utilisez le bouton Parcourir.

Entrez votre nom de certificat complet de Keychain Access, par exemple "iPhone Developer: FirstName NomName (xxxxxxxxxx)" dans la zone inférieure.

Cliquez sur Démission! et attendre. Le fichier démissionné sera enregistré dans le même dossier que le fichier d'origine.

Source: https://github.com/maciekish/iresign

1
coder284

Juste pour ajouter un peu à la réponse d'un peu à Koko Carl, si vous rencontrez des problèmes avec CoDesign_Allocat lorsque vous arrivez à l'étape 5 (démissionner), essayez d'exporter une variable de coquille Codesign_Allocate et donnez-lui un chemin d'accès à CODESIn attribue dans l'iPhone SDK. Pour ce faire, assurez-vous d'avoir les outils de ligne de commande Xcode installés (préférences/mises à jour dans xcode)

Par exemple, j'avais l'erreur:

me$ /usr/bin/codesign -f -v -s "iPhone Distribution: Some Company, Inc" --resource-rules "Payload/MyApp.app/ResourceRules.plist" --entitlements Entitlements.plist "Payload/MyApp.app"

Sortir:

Payload/MyApp.app: replacing existing signature
codesign_allocate: object: /Users/mimio/Downloads/Payload/MyApp.app/MyApp malformed object (unknown load command 33)
Payload/MyApp.app: object file format unrecognized, invalid, or unsuitable

Pour résoudre ceci, je définit la variable donc:

me$ export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate

Et puis couru mon commandement à nouveau:

me$ /usr/bin/codesign -f -v -s "iPhone Distribution: Some Company, Inc" --resource-rules "Payload/MyApp.app/ResourceRules.plist" --entitlements Entitlements.plist "Payload/MyApp.app"

Et voila! Tout a fonctionné correctement avec le nouveau codesign_Allocate

1
tonyg