Exécution de votre application iOS sur un périphérique iOS

De RAD Studio
Aller à : navigation, rechercher

Remonter à Développement d'applications mobiles iOS

Vous pouvez exécuter votre app iOS Delphi ou C++ sur un périphérique iOS seulement après avoir effectué correctement les étapes suivantes :

Voici une illustration conceptuelle du processus de développement iOS, y compris la connexion à un périphérique iOS :

Win2Mac2iOSDevice.png

Etapes de l'exécution de votre app sur un périphérique iOS

Connectez votre périphérique iOS à votre Mac en utilisant un câble USB Apple
  1. Exécutez Platform Assistant sur le Mac.
  2. Testez la connexion à votre Mac (sur la page Gestionnaire de profils de connexion).
  3. Connectez un périphérique iOS (par exemple un iPhone ou un iPad) à votre Mac en utilisant le câble USB standard Apple (illustré à droite).
    Remarque : Il n'est pas nécessaire que votre version du SDK iOS corresponde à la version du périphérique iOS. Vous pouvez utiliser la dernière version du SDK iOS et exécuter votre application sur des versions iOS plus anciennes prises en charge par RAD Studio. Vous devez toujours utiliser la dernière version de la version du SDK iOS.
  4. Dans RAD Studio :
    1. Dans le Gestionnaire de projets, développez le noeud Plates-formes cible et double-cliquez sur la plate-forme de périphérique iOS qui correspond à l'architecture de votre périphérique (Périphérique iOS - 32 bits ou Périphérique iOS - 64 bits). La plate-forme cible sélectionnée s'affiche en gras.
    2. Dans le noeud Plates-formes cible, développez le noeud du périphérique iOS sélectionné, puis le noeud Configuration, et double-cliquez sur la configuration de plate-forme Développement pour la sélectionner. La configuration de plate-forme sélectionnée s'affiche en gras.
      Remarque : Vous ne pouvez pas exécuter des applications directement à partir de RAD Studio dans un périphérique iOS si vous les construisez avec la configuration de plate-forme Magasin d'applications. Pour exécuter des apps construites pour l'App Store, vous devez les soumettre à l'App Store et les installer à partir du magasin.
    3. Exécutez votre app, avec débogage (Exécuter > Exécuter) ou sans débogage (Exécuter > Exécuter sans débogage).

RAD Studio construit votre app en utilisant le SDK que vous avez précédemment ajouté à l'EDI, puis établit la connexion à votre Mac en utilisant le profil de connexion que vous avez configuré pour la plate-forme cible de périphérique iOS sélectionnée. Sur le Mac, Platform Assistant démarre alors votre application sur le périphérique iOS connecté.

Remarques :
  • La première fois que vous utilisez un compte utilisateur sur votre Mac pour exécuter une application sur un périphérique iOS, votre Mac vous invite à autoriser RAD Studio à signer des applications en utilisant votre clé privée. L'acceptation doit être faite sur votre Mac pour que RAD Studio puisse continuer à exécuter votre application sur votre périphérique iOS.
  • RAD Studio peut sembler être bloqué à certains moments jusqu'à ce qu'il lance votre app sur votre périphérique iOS (c'est parce qu'il prépare simplement l'exécution de votre app).

Exécution de votre application avec des dossiers de données et de cache nettoyés

Quand vous exécutez une application sur un périphérique Android, RAD Studio installe votre application sur votre périphérique en utilisant la valeur CFBundleIdentifier que vous avez définie dans la page d'options Informations de version afin d'identifier votre application de façon unique. Par défaut, la valeur CFBundleIdentifier est "$(ModuleName)", c'est-à-dire le nom de votre projet, par exemple "Project1".

Si vous exécutez votre application sur un périphérique qui contient déjà une application précédemment installée avec la même valeur CFBundleIdentifier que l'application que vous souhaitez exécuter, la commande Exécuter réinstalle votre application, mais met uniquement à jour l'exécutable de l'application ; les dossiers de données et du cache de votre application ne sont pas mis à jour.

Pour configurer RAD Studio afin que les actions Exécuter sans débogage et Exécuter désinstallent complètement toutes les versions précédemment installées de votre application, y compris les dossiers des données et du cache, avant d'installer la version la plus récente :

  1. Sélectionnez Exécuter > Paramètres.
  2. Entrez "-cleaninstall" dans le champ Paramètres :
    RunParametersCleanInstall.png
  3. Cliquez sur OK pour enregistrer les modifications.

Dépannage

Si un message s'affiche en indiquant un dépassement du délai de connexion, veuillez connecter votre périphérique iOS à votre Mac.

Si votre périphérique iOS n'est pas connecté, vous voyez le message suivant dans l'EDI après avoir tenté de lancer votre application sur un périphérique iOS :

 Device connection timeout

Si vous voyez ce message, suivez les étapes ci-après :

  1. Faites disparaître le message.
  2. Connectez votre périphérique iOS au Mac en utilisant un câble USB Apple (montré ci-dessus).
  3. Exécutez à nouveau votre application à partir de l'EDI. Voir les étapes indiquées ci-dessus.
Remarque : L'utilitaire de ligne de commande de PAServer vous permet de définir le dépassement du délai de connexion du périphérique en utilisant -devicetimeout=<n>. Cependant, la définition d'une autre valeur de dépassement de délai de connexion ne résout pas le problème en cas d'absence de périphérique iOS.

'Impossible de localiser le répertoire DeviceSupport correspondant aux informations du périphérique connecté'

Si vous avez récemment mis à niveau la version d'iOS de votre périphérique, il se peut que vous obteniez le message ci-dessus lorsque vous tentez d'exécuter une app sur le périphérique iOS. Si vous voyez ce message, suivez les étapes ci-après :

  1. Faites disparaître le message.
  2. Sur le Mac, ouvrez Xcode.
  3. Sélectionnez Window > Organizer et déterminez si Xcode reconnaît votre périphérique :
    • Si Xcode reconnaît votre périphérique, laissez Xcode importer à nouveau les informations de prise en charge du périphérique et essayez d'exécuter votre application à partir de RAD Studio.
    • Si Xcode ne reconnaît pas votre périphérique, vous devez mettre à niveau Xcode.
      Remarque : Par ailleurs, si Xcode ne reconnaît pas votre périphérique, mais que vous ne voulez pas effectuer de mise à niveau de Xcode sur votre Mac, vous pouvez essayer de connecter votre périphérique à un autre Mac n'ayant pas de version Xcode ayant été mise à niveau et reconnaissant votre périphérique. Après qu'une nouvelle version de Xcode ait ré-importé les informations de prise en charge de votre périphérique, il est possible qu'une version plus ancienne de Xcode reconnaisse également votre périphérique iOS mis à niveau.

Rien ne s'affiche dans le périphérique iOS

Si, après avoir suivi ces étapes pour exécuter votre app sur un périphérique iOS, l'app ne s'affiche pas dans votre périphérique iOS, vérifiez les points suivants :

  • Platform Assistant doit s'exécuter sur le Mac. Voir Exécution de Platform Assistant sur un Mac:
  • Dans RAD Studio, le profil de connexion associé à la plate-forme cible de périphérique iOS sélectionnée (Périphérique iOS - 32 bits ou Périphérique iOS - 64 bits) doit se connecter à l'instance cible de Platform Assistant.
    • Voir Activation et configuration de la plate-forme cible pour des instructions sur la manière de configurer le profil de connexion associé à la plate-forme cible de périphérique iOS dans votre projet.
    • Sur la page Outils > Options > Options d'environnement > Gestionnaire de profils de connexion :
      • Sélectionnez le profil de connexion associé à la plate-forme cible de périphérique iOS dans la colonne de gauche (qui liste les profils de connexion disponibles, regroupés par plate-forme).
      • Vérifiez les valeurs de ce profil de connexion, telles que l'adresse IP (doit être l'adresse IP de votre Mac) et le numéro de port (doit correspondre au numéro de port de Platform Assistant).
      • Cliquez sur Tester connexion pour vérifier que la connexion entre votre PC de développement et l'instance de Platform Assistant qui s'exécute sur le Mac fonctionne.

Mon application ne s'arrête plus aux points d'arrêt

Après un plantage lors d'une session de débogage sur un périphérique iOS, les sessions de débogage suivantes peuvent ne plus fonctionner sur votre périphérique iOS.

Si, lors d'une exécution avec des symboles de débogage, votre application s'exécute mais ne s'arrête jamais au niveau des points d'arrêt, procédez comme suit :

  1. Sur votre Mac, lancez Xcode.
  2. Sur Xcode, créez une nouvelle application iOS.
  3. Avec votre nouvelle application Xcode iOS ouverte, sélectionnez Périphérique iOS comme cible.
    XcodeIosDeviceTarget.png
  4. Cliquez et maintenez enfoncé le bouton de la souris sur Exécuter, puis sélectionnez Analyser dans le menu contextuel qui apparaît.
    XcodeAnalize.png

Vous pouvez maintenant fermer Xcode et poursuivre l'utilisation de votre périphérique iOS pour déboguer les applications RAD Studio.

[DCC Error] E2597 NYI lto::archName

ld: file was built for unsupported file format ( <sequence of hexadecimal values> ) which is not the architecture being linked (armv7): C:\Utilisateurs\<utilisateur>\Documents\Embarcadero\Studio\SDKs\iPhoneOS7.1.sdk/usr/lib/libiconv.dylib for architecture armv7

Cette erreur se produit lorsque vous tentez de construire une application pour la plate-forme cible Périphérique iOS - 32 bits utilisant la version 7.1 du SDK iOS. RAD Studio ne prend pas en charge les versions de SDK iOS antérieures à la version 8.0. Vérifiez que la dernière version de Xcode est installée sur votre Mac et ajoutez un SDK iOS pris en charge à RAD Studio.

[DCC Error] E2597 ld: file was built for armv7

[DCC Error] E2597 ld: file was built for armv7 which is not the architecture being linked (arm64): C:\Utilisateurs\<utilisateur>\Documents\Embarcadero\Studio\SDKs\iPhoneOS7.0.sdk/usr/lib/libiconv.dylib for architecture arm64

Cette erreur se produit lorsque vous tentez de construire une application pour la plate-forme cible Périphérique iOS - 64 bits utilisant la version 7.0 du SDK iOS. RAD Studio ne prend pas en charge les versions de SDK iOS antérieures à la version 8.0. Vérifiez que la dernière version de Xcode est installée sur votre Mac et ajoutez un SDK iOS pris en charge à RAD Studio.

Synchronisation de Xcode avec un périphérique iOS

Vous devez vérifier que l'outil Xcode installé sur le Mac prend en charge la version iOS du périphérique iOS, et qu'ils sont synchronisés. Si vous devez synchroniser l'outil Xcode de votre Mac avec votre périphérique iOS, procédez comme suit :

  1. Déconnectez votre périphérique iOS du Mac.
  2. Ouvrez Xcode sur votre Mac.
  3. Dans le menu principal, sélectionnez Window, Devices.
  4. Reconnectez votre périphérique iOS au Mac.
  5. Dans la fenêtre Devices, sélectionnez votre périphérique iOS sur le côté gauche.
  6. Wait for the loading wheel OSX Loader Wheel.png to disappear. When it does, you can close Xcode and try to debug your application again.
Attendez que la roue de chargement OSX Loader Wheel.png disparaisse. Vous pouvez alors fermer Xcode et ré-essayer de déboguer votre application.

En cas de blocage de l'app

Votre application peut se bloquer sur votre périphérique iOS si vous la construisez avec un SDK iOS dont la version est supérieure à la version d'iOS de votre périphérique. Par exemple, si vous construisez votre application en utilisant la version 9 du SDK iOS, et que vous l'exécutez sur un périphérique fonctionnant sous iOS 8, vous provoquerez un blocage. Dans ce type de situation, changez le SDK iOS utilisé par RAD Studio pour construire l'application pour iOS.

Voir aussi