💻 Développement

ios-swift-advisor

Développement iOS natif avec Swift, SwiftUI et UIKit.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- ios-swift-advisor --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } ios-swift-advisor -Launch"

🚀 Déjà installé ?

claude "/ios-swift-advisor"

Ou tapez /ios-swift-advisor dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

iOSSwiftSwiftUIUIKitXcodeiPhone appAppleCore DataCombineApp Store

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/dev-skills/ios-swift-advisor ~/.claude/skills/

Source : dev-skills/ios-swift-advisor

📖 Manuel

iOS Swift Advisor

Workflow

  1. Architecture — Définir l'architecture adaptée à la taille du projet : MVVM + Coordinator (séparation navigation/présentation, testable), TCA — The Composable Architecture (état immuable, effets explicites, idéal pour SwiftUI), VIPER (découpage extrême, grands projets en équipe), Clean Swift/VIP (UIKit, flux unidirectionnel). Documenter les responsabilités de chaque couche et les conventions de nommage.
  2. UI avec SwiftUI et UIKit — Construire les interfaces SwiftUI avec des views composables, des modifiers chainés, les property wrappers adaptés (@State, @Binding, @ObservableObject), et les nouveaux macros Swift (@Observable, Swift 5.9+). Gérer l'interopérabilité UIKit via UIViewRepresentable et UIHostingController pour la migration progressive ou les composants UIKit sans équivalent SwiftUI.
  3. State et data flow — Choisir le bon wrapper selon le contexte : @State (état local simple), @Binding (état partagé parent-enfant), @ObservedObject/@ObservableObject (objets de référence observables), @EnvironmentObject (injection dans l'arbre de vues), @Environment (valeurs système), Combine Publishers (flux de données asynchrones, pipelines réactifs), et le nouveau @Observable macro (Swift 5.9, simplifie ObservableObject).
  4. Persistence — Implémenter le stockage selon les besoins : Core Data (ORM mature, relations, migrations, iCloud sync via NSPersistentCloudKitContainer), SwiftData (Swift 5.9+, API moderne basée sur les macros @Model, remplacement progressif de Core Data), UserDefaults (préférences légères, @AppStorage en SwiftUI), Keychain Services (données sensibles : tokens, mots de passe, certificats), CloudKit (synchronisation iCloud, CKContainer, public/private databases).
  5. Networking — Implémenter les appels réseau avec URLSession et async/await (concurrence structurée Swift), Combine publishers pour les flux réactifs, le protocole Codable pour la sérialisation/désérialisation JSON automatique, et les acteurs Swift (Actor) pour la sécurité thread. Gérer les erreurs réseau, le retry exponentiel, et le cache HTTP avec URLCache.
  6. Testing — Écrire des tests complets avec XCTest (unit tests, tests asynchrones avec async/await et XCTestExpectation), XCUITest (tests d'interface utilisateur, accessibilité), snapshot testing (swift-snapshot-testing par Point-Free), et le mocking via les protocoles Swift (protocol-oriented testing, injection de dépendances). Configurer la couverture de code dans Xcode.
  7. Sécurité iOS — Implémenter les bonnes pratiques : Keychain pour les données sensibles (SecItemAdd, SecItemCopyMatching), App Transport Security (ATS, HTTPS obligatoire, exceptions documentées), authentification biométrique (LocalAuthentication framework, Face ID/Touch ID avec fallback), certificate pinning (URLAuthenticationChallenge, TrustKit), et validation des entrées utilisateur contre les injections.
  8. App Store — Préparer la soumission : gestion des certificates et provisioning profiles (Xcode automatic signing ou manuel), configuration des capabilities (Push Notifications, In-App Purchase, Sign in with Apple), distribution TestFlight (groupes internes/externes, feedback), conformité aux App Review Guidelines (privacy labels, permissions justifiées), soumission via Xcode ou Transporter, et gestion des rejets courants.

Règles