Problèmes connus

Les comportements que vous pouvez être amené à rencontrer en utilisant AppStudio et pour lesquels il existe des solutions ou des actions permettant de contourner ou de résoudre le problème en question sont décrits ci-dessous.

Pour en savoir plus sur les bogues dans AppStudio ou en signaler, consultez le support.

Installation et configuration

Configurer et étendre les applications

Créer les fichiers d’installation

Envoi sur une plateforme de téléchargement d’applications

Installation et configuration

Lorsque je double-clique sur le fichier Linux .run, la logithèque Ubuntu se charge et un message d’erreur apparaît. Pourquoi ?

Lorsque vous téléchargez un fichier .run depuis Internet, son autorisation d’exécution est désactivée. Pour l'activer, procédez comme suit :

  1. Cliquez avec le bouton droit sur le fichier .run.
  2. Accédez à l'onglet Autorisations.
  3. Cochez la case Autoriser l'exécution du fichier en tant que programme.
  4. Cliquez sur Close (Fermer).

Désormais, lorsque vous double-cliquez sur le fichier .run, l’assistant d’installation démarre.

ArcGIS AppStudio ne démarre pas, et un message d’erreur s’affiche indiquant que le fichier api-ms-win-crt-runtime-l1-1-0.dll est manquant.

Ce message indique que les composants Universal C Runtime dans Windows requis pour exécuter AppStudio sont manquants. Ces composants ont été distribués dans le cadre d’une mise à jour Windows téléchargeable depuis le support Windows.

ArcGIS AppStudio ne fonctionne pas sur mon lieu de travail, mais fonctionne hors site.

La raison la plus probable est que votre lieu de travail contrôle l’accès à Internet par l’intermédiaire d’un script de configuration automatique basé sur des règles. Cette forme de proxy n’est actuellement pas détectée par AppStudio, ce qui signifie que la capacité de l’application à se connecter à ArcGIS Online peut être affectée. Dans ce cas, il vous faudra peut-être désactiver le script de configuration automatique et configurer manuellement le serveur proxy via une association d’adresse et de port.

Sous Windows, les options contrôlant ce processus se trouvent dans Local Area Network (LAN) Settings (Paramètres de réseau local) sous Internet Options (Options Internet).

La console AppStudio ne reçoit pas les journaux de console.

Les messages UDP (User Datagram Protocol) qu’affiche l’outil Console sont probablement filtrés ou bloqués par votre pare-feu. Ce problème peut être résolu en désactivant votre pare-feu ou en autorisant les exceptions pour les paquets UDP pour la durée d’utilisation de l’outil Console. Vous pouvez également, pour un réseau plus fiable, réinitialiser le pare-feu pour autoriser les paquets UDP sur demande.

Mon application ArcGIS Runtime se bloque sous Windows.

Il est probable que le pilote graphique de votre machine Windows ne respecte pas la configuration minimale requise. OpenGL 2.1 est la configuration minimale pour les vues cartographiques 2D lorsque vous exécutez des applications ArcGIS Runtime et 3.2 est la configuration minimale pour les vues de scènes 3D. Il est conseillé d’utiliser le pilote le plus récent.

Je ne parviens pas à créer un appareil virtuel Android pour tester mon application.

Si vous utilisez des machines virtuelles pour tester votre application sur plusieurs plateformes, vous ne pouvez pas exécuter d’émulateurs Android dessus. En effet, les émulateurs Android utilisent Hardware Accelerated Execution Manager (HAXM), un moteur de visualisation qui ne prend pas en charge les machines virtuelles imbriquées. Les émulateurs Android ne peuvent être exécutés que sur une machine réelle.

J’ai installé Android Studio mais AppStudio ne le reconnaît pas.

AppStudio recherche à l’origine des fichiers dans l’emplacement par défaut de Android Studio. Si l’emplacement du SDK Androida été configuré dans Qt Creator, AppStudio l’utilise.

Les chemins d'accès par défaut au SDK pour chaque plateforme sont les suivants :

  • Windows : Users/YourName/AppData/Local/Android/sdk
  • macOS : ~/Library/Android/sdk
  • Linux : ~/Android/Sdk

Les fichiers utilisés pour renseigner la liste des appareils virtuels doivent se trouver dans les dossiers suivants :

  • La configuration AVD est lue à partir des sous-répertoires sous ~/.android.
  • Le code d’authentification de l’émulateur est lu à partir de ~/.emulator_console_auth_token.
  • Le chemin de la commande adb est <SDKPATH>/platform-tools/adb.
  • Le chemin de la commande de l’émulateur est <SDKPATH>/tools/emulator.

La synthèse vocale est lue en arabe sous iOS 14.

Sur les appareils exécutant iOS 14 ou version ultérieure, les voix de synthèse vocale ne sont pas toutes disponibles par défaut. De ce fait, lorsque des alertes sont lues, l’utilisateur peut entendre une langue inattendue, en général de l’arabe.

Les fichiers vocaux peuvent être téléchargés manuellement vers l’appareil. Pour effectuer le téléchargement, accédez à Settings (Paramètres) > Accessibility (Accessibilité) > Voice Over (Voix off) > Speech (Parole) > Voice (Voix) et téléchargez l’une des voix qui correspond à la langue de l’appareil. Pour trouver la langue de l’appareil, appuyez sur Settings (Paramètres) > General (Général) > Language & Region (Langue & région) > iPhone Language (Langue iPhone).

Au prochain démarrage de AppStudio Player ou de l’application que vous avez construite, la voix téléchargée sera utilisée.

Mon application AppStudio 5.0 ne démarre pas sur Ubuntu.

Les applications conçues avec AppStudio 5.0 requièrent Ubuntu pour que le paquetage libxcb-xinerama0 puisse être installé. Pour installer ce paquetage, dans une fenêtre du terminal, exécutez sudo apt update suivi de sudo apt install libxcb-xinerama0. Pour vérfiier que ce paquetage est bien installé, exécutez apt list libxcb-xinerama0.

La boîte de dialogue de connexion AppStudio s’affiche sous forme d’écran blanc sur Ubuntu 22.04.

Pour garantir l’affichage de la boîte de dialogue de connexion sur cette version de Ubuntu, la variable d’environnement QTWEBENGINE_DISABLE_SANDBOX doit être définie sur 1. Pour définir cette variable d’environnement, dans une fenêtre de terminal, exécutez export QTWEBENGINE_DISABLE_SANDBOX=1. Pour confirmer la configuration de la variable d’environnement, exécutez printenv | grep QTWEBENGINE_DISABLE_SANDBOX et vérifiez que QTWEBENGINE_DISABLE_SANDBOX=1 est renvoyé.

Configurer et étendre les applications

Mon application Quick Report existante ne fonctionne pas et affiche le message d’erreur Cannot assign to non-existing property onComposeError (Impossible d’attribuer à une propriété non existante onComposeError).

Le signalement d’erreur lors de la rédaction de message électronique change à partir de la version 4.3 de AppStudio.

Cette erreur peut être résolue en ouvrant l’application dans Qt Creator, en accédant au fichier LandingPage.qml, et en définissant onComposeError sur onErrorChanged (vers la ligne 655).

Je ne parviens pas à identifier une couche de scène dans l’application du modèle 3D Scene Viewer.

Il s’agit d’un problème connu qui sera résolu dans une version ultérieure.

Mes requêtes SQL échouent, indiquant soit que la table de la base de données est désormais verrouille, soit que la connexion est toujours en cours d'utilisation.

Il s'agit là de deux erreurs distinctes causées par l'utilisation d'AppFramework par une seconde requête. Le composant de requête SQL est lancé avant q'une première requête soit terminée. Ces erreurs peuvent être évitées en utilisant la méthode finish qui informe l'application que les résultats restants de la première requêtre ne sont pas nécessaires, ou au contraire en s'assurant que tous les résultats sont requis avec des appels itératifs à la méthode next.

Les méthodesvalue et setValue AppFramework.SecureStorage renvoient l'erreur suivante dans mon application sur macOS : The username or passphrase you entered is not correct (Le nom d'utilisateur ou le mot de passe que vous avez entré est incorrect).

Une application conçue pour macOS qui utilise les modules SecureStorage et ArcGIS Runtime doit être signée pour avoir accès au trousseau de clés du système. Pour en savoir plus, reportez-vous à la rubrique Signer votre application macOS.

Mon application se comporte de manière inattendue avec le clavier SwiftKey sur Android.

Il s’agit d’un problème Qt connu qui sera résolu dans une version ultérieure. Si votre application emploie la saisie intuitive, l’utilisation du clavier SwiftKey peut entraîner l’affichage incorrect des entrées et calculs. Il est possible que le clavier SwiftKey ne puisse pas se rouvrir si la touche Entrée est utilisée.

Lors de la transmission d’une clé API fausse à des cartes de type TiledLayer ou VectorTiledLayer, la carte apparaît, mais avec un style inattendu.

Les cartes TiledLayer ou VectorTiledLayer apparaissent toujours si une clé API fausse est fournie. Toutefois, seul le style par défaut s’affichera. Les styles personnalisés exigent une clé API correcte.

Créer les fichiers d’installation

Je ne peux pas construire mon application pour iOS sans fournir de certificat.

Contrairement aux autres plateformes, les applications iOS nécessitent un certificat de production signé avant de pouvoir être créées, même à des fins de test. Sans ce certificat, une erreur est générée. Pour plus d’informations sur l’obtention et la gestion de ces certificats, consultez la section Gérer les ressources de signature du guide de distribution des applications d’Apple. Vous devez également attribuer à l’application un ID de lot approprié en ouvrant la fenêtre Settings (Paramètres) dans le volet latéral de AppStudio, puis en accédant à l’onglet iOS sous l’en-tête Platforms (Plateformes). Pour en savoir plus, reportez-vous à la rubrique Signer votre application iOS.

Réception du message d’erreur de construction Provisioning profile "ABC" has an app ID "com.abc.xyz", which does not match the bundle ID "com.xyz.abc" (L’ID d’application du profil d’approvisionnement "ABC" est "com.abc.xyz", ce qui ne correspond pas à l’ID de lot "com.xyz.abc").

Cette erreur indique que l’ID de lot iOS n’a pas été défini. Accédez à Settings (Paramètres) > Platform (Plateforme) > iOS > Bundle ID (ID de lot) et vérifiez que l’ID de lot correspond à celui qui figure dans votre profil d’approvisionnement.

Réception du message d’erreur de construction Provisioning profile is not an "ABC" profile (Le profil d’approvisionnement n’est pas un profil "ABC").

Cette erreur indique que la méthode de distribution choisie ne correspond pas au type de profil d’approvisionnement fourni avec la demande de construction. Accédez à Settings (Paramètres) > Platform (Plateforme) > iOS > Distribution Method (Méthode de distribution) et vérifiez que la méthode de distribution correspond au type de profil d’approvisionnement que vous utiliserez dans la demande de construction.

Réception du message d’erreur de construction Code signing error: Provisioning profile "ABC" doesnt include signing certificate "DEF" (Erreur de signature du code : le profil d’approvisionnement "ABC" n’inclut pas le certificat de signature "DEF").

Cette erreur indique qu’il manque des informations dans le profil d’approvisionnement utilisé pour construire l’application. Vérifiez que le fichier p12 utilisé pour construire votre application inclut à la fois le certificat et la clé privée.

Réception du message d’erreur de construction Code signing error: Provisioning profile "ABC" doesnt support the Associated Domains capability (Erreur de signature du code : le profil d’approvisionnement "ABC" ne prend pas en charge les domaines associés).

Cette erreur indique que votre application définit un lien vers votre application qui sera utilisé par les autres applications mais n’est pas inscrit auprès de developers.apple.com. Pour en savoir plus, reportez-vous à la documentation Apple expliquant comment autoriser les applications et les sites Web à créer des liens vers votre contenu.

Réception du message d’erreur de construction Invalid Android signing parameters (Paramètres de signature Android non valides).

Vous pouvez recevoir cette erreur si vous tentez de construire votre application sur une machine différente de vos tentatives précédentes. Le fichier KeyStore n’est pas enregistré dans l’élément d’application. Seule une référence à son emplacement y est enregistrée. Pour vérifier que vous avez accès au bon fichier KeyStore, accédez à Settings (Paramètres) > Platform (Plateforme) > Android et vérifiez que le chemin vers le fichier KeyStore et l’alias Key (Clé) sont corrects.

Envoi sur une plateforme de téléchargement d’applications

Rejet sur la plateforme de téléchargement d’applications en raison de l’erreur ITM-90717 : Invalid App Store Icon (Icône non valide pour la plateforme de téléchargement d’applications).

Cette erreur est due à la présence de pixels transparents ou d’un canal alpha sur l’icône de l’application. Supprimez-les de l’icône, construisez de nouveau les fichiers d’installation de votre application, puis envoyez une nouvelle fois votre application sur la plateforme de téléchargement d’applications. Cette restriction s’applique uniquement à la plateforme de téléchargement d’applications iOS. Sur les autres plateformes, les icônes d’application peuvent inclure de la transparence. Vous pouvez spécifier des icônes d’application propres à une plateforme en modifiant le fichier appinfo.json de votre projet. Dans AppStudio, sélectionnez votre application dans la bibliothèque, puis cliquez sur Edit (Mettre à jour). Sélectionnez le fichier appinfo.json et mettez à jour l’élément resources de façon à inclure les propriétés appIcon pour chaque plateforme, comme dans l’exemple suivant :

"resources": {

        "android": {
            "appIcon": "assets/android_appicon.png"
        },

        "ios": {
            "appIcon": "assets/ios_appicon.png"
        },

        "linux": {
            "appIcon": "linux_appicon.png"
        },

        "macos": {
            "appIcon": "mac_appicon.png"
        },

        "windows": {
            "appIcon": "windows_appicon.png"
        },

        "appIcon": "allNotSpecifiedOperatingSystems_appicon.png"

},

ID de lot (iOS) ou nom de paquetage (Android) fourni incorrect.

Lorsque vous créez une entrée dans la plateforme de téléchargement d’applications, vous devez définir un identifiant unique pour votre application. Cet identifiant est généralement au format com.votredomaine.nomapplication. Assurez-vous de saisir le même identifiant sous Settings (Paramètres) > Platform (Plateforme) > Android ou Settings (Paramètres) > Platform (Plateforme) > iOS. Une fois que vous avez saisi l’identifiant unique, cliquez sur Apply (Appliquer) et chargez l’application dans votre organisation ArcGIS avant de demander la construction.

Message d’avertissement lié à un APK non optimisé.

Lorsque vous chargez un APK dans Google Play, vous pouvez recevoir un message d’avertissement indiquant que votre APK n’est pas optimisé et qu’il est recommandé d’utiliser des suites d’applications. Il s’agit simplement d’un avertissement et cela ne vous empêche pas de continuer à procéder à la publication de votre application sur Google Play. À l’avenir, AppStudio prendra en charge les suites d’applications.