iOS native project (skeleton)
Generated by hand for task #65 (Phase 08). The committed structure is intentionally minimal — operators with Xcode installed should run:
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).