# iOS native project (skeleton) Generated by hand for task #65 (Phase 08). The committed structure is intentionally minimal — operators with Xcode installed should run: ```bash cd apps/mobile rm -rf ios npx cap add ios npx cap sync ios cd ios/App pod install open App.xcworkspace ``` …to overwrite this skeleton with the canonical Capacitor CLI output. Bundle id, app name and webDir are sourced from `apps/mobile/capacitor.config.ts` and stay stable across regenerations. ## Layout ``` ios/ └── App/ ├── App.xcodeproj/ # Xcode project (skeleton) ├── App/ │ ├── AppDelegate.swift # Push + universal-link entry points │ ├── Info.plist # Permissions, ATS, bundle metadata │ ├── Base.lproj/ │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard (CAPBridgeViewController) │ └── Assets.xcassets/ │ └── AppIcon.appiconset/Contents.json └── Podfile # Capacitor + plugin pod deps ``` ## Signing & store submission Operator-owned. See `docs/operations/capacitor.md` for the full TestFlight / App-Store-Connect runbook (Apple-ID, signing certificate, provisioning profile, App-Store-Connect API key, transporter upload).