Oubliez la prudence méthodique : Xcode n’attend pas ceux qui hésitent. Les aperçus Xcode, débarqués avec la version 11, bousculent les habitudes et accélèrent le rythme du développement. Pas besoin de basculer tout de suite sur SwiftUI pour profiter de ce nouveau terrain de jeu. Même avec un UIViewController classique, la prévisualisation s’invite dans le canevas. Résultat : vos itérations prennent un coup d’accélérateur, et vos idées passent plus vite du brouillon à la réalité visuelle.
Gardez en tête que ces aperçus exigent Xcode 11 et macOS Catalina, ou une version ultérieure.
Le SwiftLeeViewController prêt pour la prévisualisation
Pour illustrer la démarche, prenons un exemple simple : un SwiftLeeViewController qui affiche le logo SwiftLee via un UIImageView. Le contrôleur de vue, relié directement à l’interface builder, ne comporte aucun code superflu.

Un contrôleur de vue épuré, centré sur le logo SwiftLee. Détail notable : le code du contrôleur de vue reste vierge pour cet exemple.
class final SwiftLeeViewController : UIViewController { } Utiliser Xcode Preview tout en restant compatible avec les anciennes versions iOS
L’engouement du WWDC se heurte vite à la réalité : la plupart des nouveautés restent inaccessibles tant qu’iOS 12 n’est pas mis de côté. Mais Xcode Previews fait exception à la règle.
La solution consiste à ajuster la cible de déploiement à iOS 13 durant la phase de développement. Le canevas génère alors les aperçus, exactement comme avec SwiftUI.
Qu’en est-il des protocoles réservés à iOS 13 et suivants ?
On contourne la limitation en utilisant CanImport, couplé aux API de disponibilité.
Pour rendre notre SwiftLeeViewController compatible avec les aperçus, voici le code à ajouter :
#if canImport(SwiftUI) && DEBUG
import SwiftUI
struct SwiftLeeViewRepresentable: UIViewRepresentable {
func makeUIView(context: Context) -> UIView {
return UIStoryboard(name: « Main », bundle: .main).instantiateInitialViewController()!.view
}
func updateUIView(_ view: UIView, context: Context) {
}
}
@available(iOS 13.0, *)
struct SwiftLeeViewController_Preview: PreviewProvider {
static var previews: some View {
SwiftLeeViewRepresentable()
}
}
#endif
Regardons ça de plus près.
La directive CanImport s’assure que le projet continue de se compiler pour les développeurs qui n’ont pas la toute dernière version de Xcode. Si le framework SwiftUI n’est pas disponible, pas de panique : rien ne casse.
Notez que l’importation du framework SwiftUI se limite à la configuration de débogage. Vos versions de production restent donc indemnes de tout ajout inutile.
Le type SwiftLeeViewRepresentable sert de passerelle : il convertit votre UIView en une vue SwiftUI. Dans la méthode makeUIView, on instancie le contrôleur de vue. Cette technique fonctionne aussi bien pour une vue personnalisée que pour un contrôleur de vue généré par du code.
Pour finir, SwiftLeeViewController_Preview implémente le protocole PreviewProvider. Cela active la prévisualisation dans Xcode : il suffit de retourner l’instance SwiftLeeViewRepresentable pour voir le résultat. Le décorateur @available garantit que le code reste compilable, même si la version du système d’exploitation change dans la configuration de débogage.
Aperçu Xcode fonctionnant avec des vues UIKit. Pour profiter pleinement de cette fonctionnalité, il suffit de passer la cible de déploiement sur iOS 13.0 pendant le développement. Une fois la conception terminée, il est possible de revenir à la version minimale requise. Pour une prise en charge allant d’iOS 11 à aujourd’hui, ajustez simplement ce paramètre avant la publication.
Paramétrer les versions d’OS dans Xcode
Changer temporairement la version du système d’exploitation peut sembler fastidieux, mais cela ouvre la porte aux aperçus Xcode. Ce petit détour rend le développement bien plus réactif et permet d’exploiter Xcode Previews sans attendre la disparition d’iOS 12.
Pour ceux qui veulent approfondir leur maîtrise de SwiftUI, jetez un œil à la page de catégories SwiftUI. Vos remarques ou astuces sont les bienvenues, que ce soit via le formulaire de contact ou sur Twitter.
La rapidité, la souplesse et la modernité : voilà ce que les aperçus Xcode remettent au centre de la création d’applications. Reste à voir jusqu’où vous irez en les adoptant.



