2.1 KiB
2.1 KiB
09. Update iOS App Branding
meta: id: rebrand-to-kordant-09 feature: rebrand-to-kordant priority: P1 depends_on: [rebrand-to-kordant-01] tags: [ios, mobile]
objective:
- Update all ShieldAI branding in the iOS app: Xcode project, Swift source files, bundle identifiers, display text, storage keys, and URL schemes.
deliverables:
- iOS/ShieldAI/ directory renamed to iOS/Kordant/
- Xcode project file (.pbxproj) — all ShieldAI references updated (bundle IDs, target names, product names, entitlements, URL schemes, info plist strings)
- ShieldAIApp.swift — app struct renamed
- ShieldAITheme.swift — theme struct renamed; ShieldAITheme.cornerRadius references in all View files updated
- AuthView, OnboardingView — display text updated
- BiometricAuthService — auth prompt messages updated
- CameraService — usage description strings updated
- APIClient, PushNotificationService, NetworkMonitor — subsystem strings updated
- Route.swift — URL scheme updated from "shieldai" to "kordant"
- ThemeManager — storage key updated
- OfflineQueue, CacheManager — storage keys updated
- ShieldAITests, ShieldAIUITests — all references updated
- Deep link URL strings in tests updated
steps:
- Rename iOS directory from
iOS/ShieldAItoiOS/Kordant(this will require updating all paths in pbxproj) - Edit pbxproj — find/replace all ShieldAI → Kordant (bundle IDs, target names, product names, paths, info plist strings, URL schemes)
- Edit Swift source files — update ShieldAIApp, ShieldAITheme, display text, storage keys, URL schemes, subsystem strings, biometric prompts
- Update test files — @testable import, class names, URL strings
tests:
- Build: iOS project opens in Xcode and builds successfully
- Unit: All iOS tests pass
acceptance_criteria:
- Xcode project loads without errors
- All build targets compile
- Bundle identifier uses
com.kordant.* - URL scheme is
kordant:// - No "ShieldAI" remains in any Swift source file
validation:
- Run `grep -rn "ShieldAI|shieldai" iOS/Kordant/ — expect zero
- Open project in Xcode, verify build succeeds