...
| Remarque |
|---|
Cette commande n'est à initier qu'une seule fois sur le projet. Elle n'est plus nécessaire par la suite. |
Si vous utilisez la version 7 de Capacitor, il faut monter la version d'iOS dans le fichier ios/App/Podfile, par défaut ce sera la version à 14.0, ce n'est pas suffisant et le build échouera par la suite
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
- platform :ios, '14.0'
+ platform :ios, '15.5' |
puis lancez :
| Bloc de code | ||
|---|---|---|
| ||
cd ios/App && pod update && cd - |
Build des sources Angular
...
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 ios [--no-build]
- Ajouter les autorisations pour les fonctionnalités natives et la configuration dans le fichier
Info.plist - Générer le Splashscreen et les icônes de l'application avec l'outil capacitor-assets
- Exécuter la configuration Trapeze pour mettre à jour les numéros de version et build + (copie des fichiers de configuration Firebase)
- Ouvrir le projet dans XCode
Bloc de code npx ionic capacitor open ios
- (Ajouter la configuration Firebase en collant le fichier GoogleService-Info.plist dans le dossier
ios/App/App/depuis Xcode) - Vérifier que l'on retrouve bien les autorisations nécessaires dans l'onglet
App > Info - Vérifier que l'on retrouve bien les bonnes valeurs pour les attributs Bundle Identifier, Version et Build dans l'onglet
App > General - Configurer les certificats pour la signature du bundle
- Générer le Bundle signé :
menu > Product > Archive - Valider l'application
- Distribuer l'application sur TestFlight
- Passer l'application en production sur l'App Store
Erreurs rencontrées
Build failed, missing architecture
Si vous êtes sur un Mac avec un chipset ARM (M1, M2, M3, ...) et que vous rencontrez l'erreur suivante lors du build sous Xcode :
| Pas de format |
|---|
Build failed because Capacitor.swiftmodule is missing a required architecture. Would you like to build for rosetta instead? |
Il faut alors éditer le fichiers ios/App/Podfile et modifier la partie post_install comme suit :
| Bloc de code | ||||||
|---|---|---|---|---|---|---|
| ||||||
post_install do |installer|
assertDeploymentTarget(installer)
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
# Build for all architectures
config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
# Exclude arm64 architecture for the iOS simulator
config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
end
end
end |
Pensez à réinstaller les pods après cela :
| Bloc de code | ||
|---|---|---|
| ||
$ cd dev/user-frontend-ionic/ios/App && pod install) |