| Inclure page |
|---|
| Configurer Capacitor |
|---|
| Configurer Capacitor |
|---|
|
Ajouter le support d'iOS sur le projet
Pour pouvoir créer une app iOS, il faut indiquer à Ionic que l'on souhaite le support natif iOS
| Bloc de code |
|---|
npx ionic capacitor add ios |
Un nouveau dossier ios/ devrait apparaitre dans votre arborescence, contenant tous les fichiers propres au fonctionnement sur la plateforme.
| Remarque |
|---|
Cette commande n'est à initier qu'une seule fois sur le projet. Elle n'est plus nécessaire par la suite. |
Build des sources Angular
| Inclure page |
|---|
| Build des sources Angular |
|---|
| Build des sources Angular |
|---|
|
Build du package iOS
Une fois le build Angular terminé. Il faut utiliser une commande Capacitor qui permet de synchroniser les données des fichiers www/ et dist/ avec le dossier de l'app native ios/
| Bloc de code |
|---|
npx ionic capacitor sync ios [--no-build] |
| Avertissement |
|---|
|
Si vous avez passé un environnement à Angular au moment du build, il est impératif d'ajouter l'option --no-build lors de la synchronisation des fichiers. Sans quoi Ionic relancera le build Angular sans prendre en compte l'environnement en question. Pour plus d'infos sur l'utilisation des environnements : Configurer plusieurs environnements de développement |
Ajouter les autorisations nécessaires pour les fonctionnalités natives
| Inclure page |
|---|
| Autorisations nécessaires des clients |
|---|
| Autorisations nécessaires des clients |
|---|
|
Pour ajouter les autorisations dans le fichier Info.plist, il suffit de coller un couple clé-valeur (<key> / <string>) au sein de la bloc <dict>
Accès à l'appareil photo
| Bloc de code |
|---|
<key>NSCameraUsageDescription</key>
<string>L'application a besoin de l'appareil photo pour permettre le scan de code-barre</string> |
Accès aux photos
| Bloc de code |
|---|
<key>NSPhotoLibraryUsageDescription</key>
<string>L'application a besoin de la bibliothèque de photos pour permettre de stocker temporairement le scan de code-barre</string> |
| Bloc de code |
|---|
<key>NSContactsUsageDescription</key>
<string>L'application a besoin d'accéder à votre répertoire pour vous permettre d'ajouter un contact depuis la recherche dans l'annuaire</string> |
Géolocalisation
| Bloc de code |
|---|
<key>NSLocationWhenInUseUsageDescription</key>
<string>L'application a besoin de connaitre votre position afin d'améliorer la présentation des services</string> |
Configuration supplémentaire
Pour iOS, il est nécessaire d'ajouter de la configuration supplémentaire dans le fichier Info.plist.
Empêcher l'initialisation automatique de Firebase
| Bloc de code |
|---|
<key>FirebaseMessagingAutoInitEnabled</key>
<string>NO</string> |
Non utilisation du cryptage non exempté
| Bloc de code |
|---|
<key>ITSAppUsesNonExemptEncryption</key>
<false/> |
Autoriser l'ouverture d'un lien mailto pour la redirection vers la messagerie
| Bloc de code |
|---|
<key>LSApplicationQueriesSchemes</key>
<array>
<string>mailto</string>
</array> |
| Info |
|---|
Pour plus de simplicité, le fichier Info.plist peut aussi être édité depuis Xcode, TARGETS > App > Onglet Info 
|
Générer le splashscreen et les icônes
| Inclure page |
|---|
| Générer le splashscreen et les icônes |
|---|
| Générer le splashscreen et les icônes |
|---|
|
Ajouter le support de Firebase pour les notifications push
Pour pouvoir utiliser Firebase sur le projet, vous devez avoir préalablement configuré le projet pour : Configurer Firebase sur le client
| Info |
|---|
Si vous n'avez pas configuré le client pour utiliser Firebase avant le build, mais que vous souhaitez le mettre en place sur le projet, il sera alors nécessaire de rejouer toutes les étapes de build pour prendre en compte les paramètres. |
Pour finaliser l'utilisation de Firebase sur votre client Android il ne reste alors plus qu'à copier le fichier GoogleService-Info.plist dans le répertoire ios/App/App
Cette procédure peut être automatisée en fonction de l'environnement à utiliser en utilisant l'outil Trapeze décrit ci-dessous
| Avertissement |
|---|
Le fichier GoogleService-Info.plist doit impérativement avoir été ajouté manuellement au projet iOS depuis XCode pour qu'il soit référencé sur le projet dans l'IDE. Une fois le fichier ajouté depuis XCode, il ne sera pas nécessaire de le remplacer par la suite depuis l'IDE. Il suffira d'utiliser Trapeze pour le remplacer à chaud sur le projet. |
Utiliser Trapeze pour faciliter les modifications du package iOS
| Inclure page |
|---|
| Configuration et utilisation de Trapeze |
|---|
| Configuration et utilisation de Trapeze |
|---|
|
Ouvrir le projet sous XCode pour tester l'application
| Remarque |
|---|
Les étapes suivantes nécessitent impérativement une machine fonctionnant sous MacOS |
Une fois le projet iOS buildé et configuré, il ne reste plus qu'à l'ouvrir sous XCode. Pour cela, exécutez la commande :
| Bloc de code |
|---|
npx ionic capacitor open ios |
L'IDE devrait alors s'ouvrir, affichant l'arborescence du projet.
Vous pouvez désormais testé le projet iOS en sélectionnant le périphérique souhaité (émulateur ou device connecté) dans le menu déroulant en haut

Puis en cliquant sur le bouton
(Start the active scheme)
Préparer l'App Bundle pour la diffusion sur l'App Store
Infos générale du projet
Builder le package
Publier sur l'App Store
Publier l'application sur les stores
Todo Checklist de re-déploiement
Vous trouverez ci-dessous la checklist des actions à effectuer pour build ou rebuild l'app native et la publier sur les stores.
En gris, les actions à n'effectuer qu'une seule fois.
Entre parenthèses, les actions facultatives.
Les autres actions sont à faire à chaque nouvelle release.
- Configurer Capacitor en éditant le fichier
capacitor.config.ts - Ajouter le support d'iOS sur le projet
| Bloc de code |
|---|
npx ionic capacitor add ios |
- Build les sources d'Angular avec les modules
| Bloc de code |
|---|
npm run build [-- --configuration={environment}] |
- Synchronisation des sources Angular avec les packages natifs iOS
| Bloc de code |
|---|
npx ionic capacitor sync android [--no-build] |
- z
- z
- z
- z
- z