esup-multi

Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

  •  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
languageswift
firstline39
linenumberstrue
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