Surveillance des applications Swift : bibliothèques pour iOS et macOS

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Surveillance des applications Swift (iOS/macOS) : bibliothèques et outils clés



Le développement moderne pour iOS et macOS nécessite non seulement la création de code fonctionnel, mais aussi un contrôle constant des performances, de la stabilité et du comportement de l'application dans des conditions réelles. La surveillance des applications Swift comprend la collecte de métriques, l'analyse des erreurs, le suivi des crashs, le profilage de la mémoire et du CPU, ainsi que la journalisation. Dans cet article, nous examinerons les principales bibliothèques et outils de surveillance des projets Swift qui vous aideront à maintenir une haute qualité d'application.



1. Firebase Crashlytics — leader des outils de suivi des crashs



Firebase Crashlytics est un outil puissant et gratuit pour collecter des informations sur les pannes d'applications. Il collecte automatiquement les piles d'appels, les journaux et les données utilisateur, permettant de trouver et de corriger rapidement les erreurs critiques.



Connexion via Swift Package Manager :

// Dans Xcode : File → Add Packages → rechercher "firebase-ios-sdk"// Ajouter le module : FirebaseCrashlytics


Exemple de configuration dans AppDelegate :

import FirebaseCoreimport FirebaseCrashlytics

@mainclass AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { FirebaseApp.configure() // La collecte automatique des crashs est activée par défaut return true }}


Ajout de journaux personnalisés :

Crashlytics.crashlytics().log("L'utilisateur a cliqué sur le bouton 'Acheter'")Crashlytics.crashlytics().setUserID("user_12345")


2. MetricsKit — collecte intégrée de métriques par Apple



Depuis iOS 13 et macOS 10.15, Apple a introduit MetricsKit — un framework pour la collecte de métriques de performance anonymes. Les données sont automatiquement envoyées à App Store Connect et sont accessibles au développeur dans la section « Analytique ».



Fonctionnalités principales :

  • Collecte du temps de démarrage de l'application (Cold Start, Warm Start)
  • Suivi de l'utilisation de la mémoire et du CPU
  • Métriques de consommation d'énergie
  • Statistiques sur les crashs et les blocages


Exemple d'activation de métriques personnalisées :

import MetricKit

class MetricsManager: NSObject, MXMetricManagerSubscriber { override init() { super.init() MXMetricManager.shared.add(self) } func didReceive(_ payloads: [MXMetricPayload]) { for payload in payloads { if let cpuMetrics = payload.cpuMetrics { print("CPU : \\(cpuMetrics.cumulativeCPUTime)") } } }}


3. SwiftMetrics (IBM) — surveillance des applications Swift côté serveur



Si votre application utilise Swift côté serveur (par exemple, Vapor ou Kitura), SwiftMetrics d'IBM est un excellent choix pour surveiller les performances, les requêtes HTTP et les ressources système.



Installation via Package.swift :

// swift-tools-version:5.7dependencies: [    .package(url: "https://github.com/RuntimeTools/SwiftMetrics.git", from: "2.0.0")]


Exemple d'initialisation :

import SwiftMetricsimport SwiftMetricsKitura

let sm = try SwiftMetrics()let monitoring = SwiftMetricsKitura(swiftMetricsInstance: sm)sm.monitor() // démarrage de la surveillance


Les métriques sont accessibles via l'API REST ou Prometheus.



4. Xcode Instruments — profilage au niveau de l'IDE



Xcode Instruments n'est pas une bibliothèque, mais un outil intégré pour un profilage approfondi. Il permet d'analyser :

  • Les fuites mémoire (Leaks)
  • L'utilisation du CPU (Time Profiler)
  • Les requêtes réseau (Network)
  • Le travail avec Core Data (Core Data)
  • L'animation et le rendu (Core Animation)


Lancement

Recommendations