Pour signer une application vous aurez besoin de votre clé privée et d'un fichier "mobileprovision" correspondant au "bundle identifier" de votre application. Il convient de noter que XCode stoque vos "mobileprovision" qui servent à signer les applications dans le répertoire suivant:
/Users/UserName/Library/MobileDevice/Provisioning Profiles
Les noms de fichier donnés par XCode aux "mobileprovision" n'étant pas très lisibles vous pouvez également organiser votre propre répertoire de profiles avec des noms plus explicites comme MaSuperAppAdHoc.mobileprovision.
Pour compiler en ligne de commande le processus est le suivant:
TARGETNAME=NomDeMonProjet
BUILDTYPE=Release
NAME=MaSuperApp
TARGETSDK=iphoneos
xcodebuild -target $TARGETNAME -sdk $TARGETSDK -configuration $BUILDTYPE PRODUCT_NAME=$NAME 2> /dev/null
Le paramètre NAME est très pratique car il permet de modifier à la volée le nom de votre application tel qu'il apparait sur le bureau de l'iPhone.
Le paramètre BUILTYPE peut contenir la valeur Release, Debug ou tout autre schéma de compilation que vous avez créé sous XCode. Par exemple MaSuperAppAdHoc ou MaSuperAppAppStore.
Pour obtenir la liste des valeurs possibles dans TARGETSDK vous pouvez utiliser la commande:xcodebuild -showsdks
Mac OS X SDKs:
Mac OS X 10.6 -sdk macosx10.6
Mac OS X 10.7 -sdk macosx10.7
iOS SDKs:
iOS 5.0 -sdk iphoneos5.0
iOS Simulator SDKs:
Simulator - iOS 4.3 -sdk iphonesimulator4.3
Simulator - iOS 5.0 -sdk iphonesimulator5.0
La signature de l'application se réalise avec la commande suivante:DEVELOPPERNAME="iPhone Distribution: Nom Prénom"
PROVISONNINGPROFILE="MaSuperAppAdHoc.mobileprovision
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "$NAME.app" -o "$NAME.ipa" --sign "$DEVELOPPERNAME" --embed $PROVISONNINGPROFILE
Si vous cumulez toutes ces commandes dans un petit fichier script vous pourrez automatiser la compilation et la distribution de vos applications. Si en plus vous rajoutez un scp vers votre serveur de test vous pourrez distribuer vos applications en adhoc over the air en une seule étape.
Aucun commentaire:
Enregistrer un commentaire