Context
Sub-issue of #535. Depends on #649, #650. Gets the app into TestFlight for internal testing and then submitted to the App Store.
Prerequisites
- Apple Developer Program membership ($99/year) — must be under the need4deed organisation account
- Xcode installed (latest stable) on a Mac build machine or CI runner
- App ID registered in Apple Developer portal:
org.need4deed.app
One-time setup
Apple Developer portal
Xcode project (in ios/)
Build + upload to TestFlight
```bash
next build # static export
npx cap sync ios # sync web assets + plugins
xcodebuild archive
-workspace ios/App/App.xcworkspace
-scheme App
-archivePath build/App.xcarchive
xcodebuild -exportArchive
-archivePath build/App.xcarchive
-exportOptionsPlist ExportOptions.plist
-exportPath build/
xcrun altool --upload-app -f build/App.ipa
--username $APPLE_ID --password $APP_SPECIFIC_PASSWORD
```
Or use Xcode → Product → Archive → Distribute GUI for first submission.
App Store metadata
Tasks
Depends on
#649 (Capacitor), #650 (icons + splash)
Context
Sub-issue of #535. Depends on #649, #650. Gets the app into TestFlight for internal testing and then submitted to the App Store.
Prerequisites
org.need4deed.appOne-time setup
Apple Developer portal
org.need4deed.appwith capabilities: Push Notifications, Associated Domainsorg.need4deed.appXcode project (in
ios/)org.need4deed.appBuild + upload to TestFlight
```bash
next build # static export
npx cap sync ios # sync web assets + plugins
xcodebuild archive
-workspace ios/App/App.xcworkspace
-scheme App
-archivePath build/App.xcarchive
xcodebuild -exportArchive
-archivePath build/App.xcarchive
-exportOptionsPlist ExportOptions.plist
-exportPath build/
xcrun altool --upload-app -f build/App.ipa
--username $APPLE_ID --password $APP_SPECIFIC_PASSWORD
```
Or use Xcode → Product → Archive → Distribute GUI for first submission.
App Store metadata
Tasks
Depends on
#649 (Capacitor), #650 (icons + splash)