Utilisation de mtouch pour grouper des applications Xamarin.iOS
Les applications iPhone sont livrées en tant qu’offres groupées d’applications. Il s’agit de répertoires avec l’extension .app
qui contiennent votre code, données, fichiers de configuration et un manifeste utilisé par l’iPhone pour en savoir plus sur votre application.
Le processus de transformation d’un fichier exécutable .NET dans une application est principalement piloté par la commande mtouch
, un outil qui intègre plusieurs étapes requises pour activer l’application dans une offre groupée. Cet outil est également utilisé pour lancer votre application dans le simulateur et déployer le logiciel sur un appareil de tactiles iPhone ou iPod Touch réel.
Instructions Détaillé
Vérifiez la page de votre manuel mtouch(1) avec toutes les utilisations possibles de l’outil mtouch.
Installation
Sur un Mac, mtouch
est fourni avec Xamarin.iOS. Cet outil se trouve dans le répertoire suivant :
/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin
Pour rendre mtouch
pratique à utiliser, ajoutez son répertoire parent à la variable d’environnement PATH
de votre système.
Par exemple, pour ce faire dans Bash, ajoutez la ligne suivante à la fin de votre fichier ~/.bash_profile :
export PATH=$PATH:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin
Avertissement
Pour utiliser mtouch
, ne comptez pas sur l’existence de /Developer/MonoTouch/usr/bin, un lien symbolique qui pointe vers /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin. Ce lien symbolique existe uniquement pour maintenir la compatibilité avec les anciennes mises en production MonoTouch qui n’étaient pas installées dans /Library/Frameworks/... et il peut disparaître dans une mise en production ultérieure.
Création
La commande mtouch
peut compiler votre code de trois façons différentes :
- compilation pour le test du simulateur
- compilation pour le déploiement de l’appareil
- déploiement de votre fichier exécutable sur l’appareil.
Compilation pour le simulateur
Lors du démarrage, le scénario le plus fréquemment utilisé sera d’essayer l’application dans le simulateur, afin d’utiliser mtouch -sim
pour compiler le code dans un package du simulateur. Cette opération s’effectue comme suit :
$ mtouch -sim Hello.app hello.exe
Compilation pour l’appareil
Pour générer des logiciels pour l’appareil, générez votre application à l’aide de l’option mtouch -dev
, puis fournissez le nom du certificat utilisé pour vous connecter à votre application. L’exemple suivant montre comment l’application est générée pour l’appareil :
$ mtouch -dev -c "iPhone Developer: Miguel de Icaza" foo.exe
Dans ce cas particulier, nous utilisons le certificat « Développeur iPhone : Miguel de Icaza » pour nous connecter à l’application. Cette étape est très importante, sinon l’unité physique refuse de charger l’application.
Exécution de votre application
Lancement sur le simulateur
Le lancement sur le simulateur est très simple une fois que vous disposez d’une offre groupée d’applications :
$ mtouch --sdkroot /Applications/Xcode.app -launchsim Hello.app
Si l’indicateur --sdkroot
n’est pas défini, il s’affiche par défaut sur xcode-sélectionner le chemin d’accès et devient l’avertissement suivant :
par exemple : avertissement MT0061 : aucun Xcode.app spécifié (utilisation de --sdkroot), à l’aide du système Xcode comme indiqué par ''xcode-select --print-path': /Applications/Xcode.app/Contents/Developer
La ligne de commande ci-dessus génère une sortie comme suit :
Launching application
Application launched
PID: 98460
Press enter to terminate the application
Il est fortement recommandé de conserver également un journal des fichiers de sortie et d’erreur standard pour faciliter le débogage. La sortie de Console.WriteLine
va à stdout
et la sortie depuis Console.Error.WriteLine
et tout autre message d’erreur runtime va à stderr
.
Pour ce faire, utilisez les indicateurs --stdout
et --stderr
:
../../tools/mtouch/mtouch --launchsim=Hello.app --stdout=output --stderr=error
Si votre application échoue, vous pouvez voir la sortie et l’erreur pour diagnostiquer le problème.
Déploiement sur un appareil
Pour déployer sur votre appareil, vous devez configurer votre appareil comme décrit dans le document Gestion des appareils d’Apple. Une fois votre appareil correctement configuré, vous pouvez utiliser la commande mtouch pour déployer un fichier « .app » compilé dans votre appareil. Pour cela, utilisez la commande :
$ mtouch —sdkroot /Applications/Xcode.app -installdev=MyApp.app
Si l’indicateur --sdkroot
n’est pas défini, il s’affiche par défaut sur xcode-sélectionner le chemin d’accès et devient l’avertissement suivant :
par exemple : avertissement MT0061 : aucun Xcode.app spécifié (utilisation de --sdkroot), à l’aide du système Xcode comme indiqué par ''xcode-select --print-path': /Applications/Xcode.app/Contents/Developer
Ces étapes sont généralement effectuées par Visual Studio pour Mac.
Référence
Consultez la page du manuel mtouch(1) pour plus d’informations sur les autres options de ligne de commande.