Architecture: iOS Pipeline
iOS Pipeline
The iOS app is a turbo-ios native shell around the Rails web app. Most updates ship through the Rails deploy pipeline and are picked up by the iOS app on next launch — no App Store review needed. The native shell only rebuilds when native capabilities change (push notifications, camera, app icon).
Components
- Xcode project: ~/landscaping-assistant-ios on MacBook, turbo-ios framework
- Fastlane:
betalane (TestFlight),releaselane (App Store) - App Store Connect: App ID 6780226794, bundle com.palenterprises.landscaping
- TestFlight: Internal testing, 90-day builds
- Signing: Apple Developer Program ($99/year), automatic signing via Xcode
Build Flow
- SSH to MacBook from archbox
fastlane beta— increment build, archive, upload to App Store Connect- TestFlight processes (~15-30 min)
fastlane release— submit for App Store review
App Store Connect API
JWT auth with ES256. Key at ~/secrets/apple-developer/AuthKey_2A6BSP3H76.p8. Used for submission automation. Privacy declarations are web-UI only (no API endpoint).
Related
- docs/pipeline.md — full pipeline doc including iOS flows
- docs/ios-dev-builds.md — local dev builds and wireless install
- docs/app-store-review/ — App Store review feedback and rejection tracking