swiftuimigrator-admob
SwiftUI Migrator AdMob
Overview
Use this skill only after project setup, startup flow, and core screen migration are already stable.
Core principle: AdMob is a late-stage migration concern. Do not introduce ad complexity while the app shell or screen parity is still unstable.
When to Use
- Core setup and screen migration are already working
- The remaining migration work is specific to Google AdMob
- AdMob defaults, managers, or native ad views need SwiftUI equivalents
Preconditions
- The app already has a stable SwiftUI entry path
- Startup logic is already migrated or stable
- Core screen migration is working without ad-related blockers
Scope
- AdMob defaults and ad-unit setup
SwiftUIAdManager- App integration and lifecycle wiring
- Native ad migration
- Cleanup of legacy AdMob logic in
AppDelegate
Migration Tasks
1. Migrate AdMob configuration
- Ensure the required defaults keys exist.
- Migrate ad-unit naming and configuration into SwiftUI-compatible structures.
2. Add SwiftUI ad management
- Create or adapt
SwiftUIAdManager. - Move lifecycle-driven ad behavior out of legacy UIKit-only wiring.
3. Migrate screen-level ad UI
- Add native ad support where needed.
- Keep ad presentation logic explicit and testable.
4. Clean up legacy ad wiring
- Remove obsolete AdMob logic from
AppDelegateonly after the SwiftUI flow is verified.
Shared References
- AdMob guide:
../swiftuimigrator/guides/admob-migration.md - Verification:
../swiftuimigrator/guides/verification-checklists.md
Verification
- The app builds with AdMob integrated
- Ads only appear under the intended conditions
- Native ad views render correctly
- Legacy ad logic can be removed without regression
Exit Criteria
AdMob works in the SwiftUI app without depending on legacy UIKit-specific ad wiring.
More from 2sem/swiftui-migrator-skill
swiftuimigrator
Use when planning or coordinating an incremental UIKit-to-SwiftUI migration and you need to determine which migration stage or specialized subskill should run next.
1swiftuimigrator-cleanup
Use when the SwiftUI migration is already verified and the remaining work is deleting legacy UIKit files, removing old entry logic, and doing final cleanup safely.
1swiftuimigrator-screens
Use when converting UIKit ViewControllers into SwiftUI screens, migrating features incrementally, rewiring navigation, or bridging complex UIKit views with UIViewRepresentable.
1swiftuimigrator-project-setup
Use when a UIKit-to-SwiftUI migration still needs project-level setup such as Tuist updates, App.swift creation, SplashScreen setup, or entry-point transition from AppDelegate.
1swiftuimigrator-data-migration
Use when SwiftUI app startup still needs initialization, migration, loading-state orchestration, AppInitializer work, or SplashScreen progress handling.
1