|
|
|
|
|
- Présentation
- Génération de l'application pour la porter sur le MAC
- Génération de l'application
- Contenu du répertoire de génération "Nom_du_projet.xcode.gen"
Générer une application iOS
Le développement d'une application iPhone/iPad est réalisé en plusieurs étapes : Attention : Depuis Avril 2020, le déploiement via App Store nécessite d'utiliser la version 25 de WINDEV Mobile.Génération de l'application pour la porter sur le MAC Génération de l'application Pour générer l'application à compiler sur le MAC : - Cliquez sur parmi les boutons d'accès rapide. L'assistant de génération se lance.
Remarque : Si la configuration en cours ne correspond pas à l'application iOS, déroulez l'icône de génération parmi les boutons d'accès rapide, cliquez sur "Autres générations" et sélectionnez "Générer l'application iPhone/iPad". - Dans l'assistant de génération de l'application, indiquez les informations générales sur l'application à créer :
- Nom de l'application
- Société
- Copyright
- Identifiant du Bundle. Cet identifiant est l'identifiant unique de votre application auprès de Apple. Il se définit et s'enregistre sur le compte développeur Apple.
Cet identifiant permettra d'enregistrer votre application pour pouvoir la tester et la déployer. Par défaut, WINDEV Mobile propose automatiquement un identifiant respectant les normes de développement Apple actuelles. Vous pouvez modifier cet identifiant. Pour plus de détails sur cet identifiant, consultez directement la documentation iOS.
- Passez à l'étape suivante.
- Indiquez le chemin des différentes icônes de l'application : icône pour iPad, icône pour iPhone, icône pour iPad Rétina, ...
Remarque : Le bouton "Icônes facultatives" permet d'indiquer le chemin d'icônes supplémentaires. - Passez à l'étape suivante.
- Choisissez le mode de gestion de l'image de lancement.
Il existe deux modes de gestion des images de lancement. Vous pouvez :
- Utiliser le nouveau système de gestion : permet le redimensionnement de l'application (Split View).
- Utiliser l'ancien système de gestion : supporte toutes les versions d'iOS mais ne permet pas le redimensionnement de l'application (Split View).
- Passez à l'étape suivante.
- Si vous avez choisi d'utiliser à l'étape précédente :
- le nouveau système de gestion de l'image de lancement, indiquez :
- les éléments que vous souhaitez afficher dans le splash screen :
- le nom de l'application.
- la version de l'application.
- le message affiché lors du chargement de l'application.
- si nécessaire, l'image du logo de l'application dans le splash screen.
- si vous souhaitez une animation au chargement du splash screen.
- si nécessaire l'image de fond du splash screen. Dans ce cas, précisez l'image de fond et son mode d'affichage.
Vous pouvez récupérer l'image de fond et son mode d'affichage avant le lancement de l'assistant en cliquant sur le bouton "Réinitialiser l'image de fond".
- le style du splash screen : la couleur des libellés et la couleur de fond.
- l'ancien système de gestion de l'image de lancement : indiquez le chemin des différentes images de lancement de l'application pour l'iPhone puis pour l'iPad. Ces images sont au format PNG. Des images par défaut sont automatiquement créées pour votre application.
- les deux systèmes de gestion de l'image de lancement : les étapes de choix des paramètres du nouveau puis de l'ancien système de gestion de l'image de lancement s'affichent.
- Passez à l'étape suivante.
- Indiquez le numéro de version de l'application générée. Ce format correspond à un ensemble de 4 nombres séparés par des points.
- Le premier groupe de 4 chiffres correspond au nombre de changements majeurs effectués dans l'application.
- Le second groupe de 4 chiffres correspond au nombre de changements mineurs effectués dans l'application.
- Le troisième groupe de 4 chiffres correspond au numéro de génération.
Il est conseillé d'incrémenter automatiquement ce numéro à chaque génération. Cette incrémentation est réalisée automatiquement si l'option "Incrémentation automatique de la version à chaque génération" est cochée. - Le dernier groupe de 4 chiffres correspond au nombre de révisions (branches dans le GDS par exemple).
- Passez à l'étape suivante.
- Indiquez si nécessaire les librairies externes à inclure.
- Ces librairies peuvent être des librairies système ou non système.
- Ces librairies peuvent être nécessaires par exemple si vous avez saisi du code natif Objective C utilisant des librairies spécifiques. Pour plus de détails, consultez Saisir du code Objective C.
Remarque : Il est également possible d'ajouter un framework externe. Il suffit de dérouler le bouton "Ajouter" et de sélectionner "Ajouter un framework externe". Il est alors possible de sélectionner le répertoire ".framework" contenant la librairie externe.
- Passez à l'étape suivante.
- Indiquez si des fichiers doivent être intégrés à l'exécutable. Il est possible d'intégrer :
- des ressources spécifiques.
- des images spécifiques.
- des fichiers de données.
- Spécifiez les options des fichiers :
- Si les fichiers ont l'option "Ecriture" cochée, ces fichiers seront extraits automatiquement (fichiers à modifier par l'application par exemple). Dans ce cas, spécifiez dans quel répertoire de l'application ce fichier doit être extrait (répertoire "Documents" ou répertoire "Library").
- Si les fichiers ont l'option "Ecriture" décochée, ces fichiers pourront ensuite :
- soit être utilisés directement (fichiers à lire par exemple : fichiers son, image, ...). Ces fichiers sont intégrés à l'application et ne seront pas extraits. La fonction fRepRessource permet d'accéder en lecture à ces fichiers.
- soit être extraits par programmation avec la fonction fExtraitRessource.
Attention : le système iOS est sensible à la casse.
- Passez à l'étape suivante.
- Si votre application contient un champ HTML, il est nécessaire de respecter des options de sécurité dans une application iOS 9.0 (et supérieur). Par défaut, le champ HTML permet d'accéder uniquement aux sites utilisant une connexion HTTPS respectant les préconisations de la société Apple. Cette étape permet :
- de fournir la liste des domaines pour lesquels la sécurité peut être désactivée. Il est nécessaire d'indiquer :
- le nom du domaine (par exemple pcsoft.fr).
- la version TLS minimale pour les connexions HTTPS. Toutes les connexions supérieures ou égales à la version sélectionnée sont autorisées. Si "Défaut" est sélectionné, la version TLS minimale dépend de la version de Xcode.
- si la connexion HTTP non sécurisée est autorisée.
- si les sous-domaines doivent être inclus.
- soit de désactiver la sécurité pour tous les domaines (option "Désactiver la sécurité pour tous les domaines").
- Passez à l'étape suivante.
- Indiquez les options de configuration :
- Split View
L'option "Autoriser l'application à être redimensionnée (Split View)" permet à l'utilisateur final d'afficher deux fenêtres de deux applications différentes côte à côte sur iPAD Air 2. - Partage des fichiers ("File Sharing")
Si l'option "Autoriser le partage de fichiers" est cochée, il sera possible de récupérer les fichiers de l'application sur le PC lors de la synchronisation. Par exemple, si des fichiers de données ont été livrés avec l'application, l'application iTunes permettra de récupérer ces fichiers. Pour cela : - Connectez le mobile.
- Dans iTunes, cliquez sur "Apps" et choisissez votre application.
- La liste des fichiers s'affiche. Par simple "Drag and Drop" il est possible d'ajouter ou de récupérer des fichiers.
- Cible de déploiement
Indiquez la version minimale nécessaire d'iOS pour exécuter l'application. Remarque : La version minimale gérée est iOS 11.0. - Exécution en arrière-plan
Cette option est présente uniquement si la fonction GPSSuitDéplacement et/ou la fonction BeaconDétectePrécis sont utilisées dans l'application. L'option "Autoriser les fonctions GPSSuitDéplacement et BeaconDétectePrécis à être appelées quand l'application est en arrière-plan." permet de continuer la géolocalisation et/ou la détection précise des balises Beacon quand l'appareil est en veille. - Dynamic Island
L'option "Inclure les fichiers natifs nécessaires à la génération des "Live Activity" pour Dynamic Island.
Nécessite Xcode en version 14.1 minimum." permet d'indiquer que l'application doit inclure les fichiers nécessaires à la gestion du Dynamic Island. Les noms des structures et fichiers nécessaires sont à préciser dans l'écran suivant de l'assistant. Attention : Si cette option est cochée, il est nécessaire d'utiliser Xcode version 14.1 minimum. Rappel : Dynamic Island est une manière d'utiliser l'endroit où les capteurs et la caméra selfie sont intégrés. A partir de l'iPhone 14, l'encoche fait partie de l'écran. Le code permettant de gérer Dynamic Island est un code natif saisi en Swift. Le bouton "Options avancées" permet de saisir des options spécifiques pour Xcode. - Passez à l'étape suivante.
- L'étape "Signature" permet de choisir le mode de signature de votre application iOS. Pour plus de détails, consultez Signature des applications iOS. Passez à l'étape suivante.
- Si vous publiez votre application iOS sur l'App Store, il est nécessaire d'indiquer un texte pour chaque fonctionnalité utilisée. Lors de la première utilisation d'une de ces fonctionnalités par l'utilisateur final, une fenêtre d'autorisation affichera ce texte pour informer l'utilisateur.
- Terminez l'assistant. Si nécessaire, une configuration de projet est créée. La génération est faite dans le dossier EXE du répertoire du projet. Le répertoire contenant les sources à utiliser sur le Mac s'appelle "Nom_du_projet.xcode.gen". C'est ce répertoire qui doit être copié sur le MAC.
Remarque : Le dossier de génération peut être ouvert directement dans l'explorateur de fichier : sous le volet "Accueil", dans le groupe "Général", déroulez l'option et sélectionnez "Explorer le répertoire de génération".
Contenu du répertoire de génération "Nom_du_projet.xcode.gen" Le répertoire de génération contient les éléments suivants : - Un répertoire lib. Ce répertoire contient le Framework WINDEV Mobile pour iOS avec si nécessaire :
- un dossier libwd*.xcframework avec le Framework pour une application iOS,
- un dossier extwd*.xcframework avec le Framework pour un Widget jusqu'Ã iOS 13,
- un dossier widwd*.xcframework avec le Framework pour un Widget à partir de iOS 14.
- Un répertoire au nom du projet contenant :
- La bibliothèque .WDL des objets du projet. Cette bibliothèque est identique à la bibliothèque générée sous WINDEV ou WEBDEV.
- Plusieurs fichiers nécessaires au compilateur Xcode sur le MAC (main.m, WDAppDelegate.h, WDAppDelegate.mm, Info.plist).
- Un dossier nommé <Nom du projet>.xcodeproj. Dans ce dossier, le fichier project.pbxproj correspond au projet à ouvrir sous Xcode sur le MAC.
Liste des exemples associés :
|
Exemples multiplateforme (WINDEV Mobile) : WM Clic sur Graphe
[ + ] L'exemple "WM Clic sur Graphe" propose une solution pour excentrer les parts d'un graphe de type secteur sur un simple clic utilisateur. Cet exemple met à disposition un modèle de champs "MDLC_ExcentreGraphe". Ce modèle de champs permet d'activer l'excentration de parts sur simple clic sur un graphe. Pour disposer de cette fonctionnalité dans une autre application, il suffit d'importer le modèle de champs "MDLC_ExcentreGraphe".
|
|
Exemples multiplateforme (WINDEV Mobile) : WM Gestion Contacts
[ + ] Cet exemple illustre la gestion de contacts pour Android et iOS. Il permet de : - lister les contacts du téléphone - appeler les contacts - envoyer des sms aux contacts - ...
|
|
Exemples multiplateforme (WINDEV Mobile) : WM Inscrits
[ + ] Cette application est un gestionnaire de présence. Elle permet de noter les personnes présentes lors d'un séminaire. La base de données est préalablement renseignée avec la liste des personnes inscrites. Il est possible de rechercher une personne par son nom. Dans cet exemple, nous abordons les principaux thèmes suivants : 1/ l'utilisation d'une zone répétée fichier basée sur une requête 2/ l'utilisation d'une base de données au format HFSQL.
|
|
Exemples multiplateforme (WINDEV Mobile) : WM Lecteur RSS
[ + ] Cet exemple est un lecteur de flux RSS pour les périphériques Android et iOS. Cette application vous permettra de suivre l'actualité de vos flux préférés. Ce lecteur gère les images composant un billet ainsi que les liens vers un site extérieur. Il intègre en plus un système de gestion de favoris.
|
|
Exemples multiplateforme (WINDEV Mobile) : WM Mot de passe
[ + ] Sites web, comptes bancaires, ... notre vie quotidienne est remplie de mots de passe. Avec WM Mot de passe, vous n'avez plus besoin de mémoriser tous les mots de passe de vos différents comptes. L'application conserve pour vous, de façon sécurisée tous vos mots de passe. WM Mot de passe est également capable de générer pour vous des mots de passe extrêmement sûrs.
|
|
Exemples multiplateforme (WINDEV Mobile) : WM Note de frais
[ + ] Cet exemple permet de gérer vos notes de frais. Voici les principales fonctionnalités de cette application : - La saisie des factures - Gestion des devises étrangères - Ajout de justificatif photo pour les factures - Envoi par mail de la note de frais - Suivi des notes de frais - ...
|
|
Exemples multiplateforme (WINDEV Mobile) : WM Stocks
[ + ] Cette application permet de réaliser des inventaires et d'enregistrer les résultats dans une base de données. L'exemple permet de créer des entrées/sorties dans le stock, en scannant directement le code-barres des produits. Il est optimisé pour être exécuté sur les tablettes.
|
|
Exemples multiplateforme (WINDEV Mobile) : WM Système
[ + ] Cette application est un exemple didactique montrant quelques unes des fonctionnalités de WINDEV Mobile pour Android/iOS. Les fonctions système utilisées sont : - NFC - Champ Multimédia - Luminosité - Volume - WIFI - Bluetooth - Toast - Boussole - Accéléromètre - Champ caméra - LED - Vibrations - Notifications - Fonctions de dessin - Internet
|
|
iPhone/iPad (WINDEV Mobile) : iOS Dynamic Island
[ + ] Cet exemple montre l'utilisation de Dynamic Island d'iOS dans un projet WINDEV Mobile.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|