Files
hotdog-app/docs/release-ios.md
T
2026-06-29 01:59:27 -04:00

2.3 KiB

iOS Release

This project uses the local Xcode/App Store Connect path, not EAS.

Current Native Settings

  • Bundle ID: com.soconnor.hotdog
  • Team ID: V98X722US5
  • Version: 1.0
  • Build number: 1
  • Scheme: hotdog
  • Workspace: ios/hotdog.xcworkspace

One-Time Setup

  1. Create the app record in App Store Connect using bundle ID com.soconnor.hotdog.
  2. Create an App Store Connect API key in App Store Connect > Users and Access > Integrations > App Store Connect API.
  3. Authenticate the App Store Connect CLI:
npx @onmyway133/asc-cli auth login

The CLI stores the private key in macOS Keychain by default. Do not commit AuthKey_*.p8.

For upload commands that use xcrun altool, also make the key available to Apple tooling. The usual local setup is:

mkdir -p ~/.appstoreconnect/private_keys
cp /path/to/AuthKey_YOURKEYID.p8 ~/.appstoreconnect/private_keys/
export ASC_KEY_ID=YOURKEYID
export ASC_ISSUER_ID=YOUR-ISSUER-UUID

Build And Upload

Run a static check first:

npm run typecheck

Archive a release build:

npm run ios:archive

Export an App Store Connect IPA:

npm run ios:export

The export uses config/ExportOptions.AppStore.plist.

Upload the IPA:

npm run ios:upload

The uploaded build will appear in App Store Connect after Apple finishes processing it.

App Store Connect CLI

Use the asc script for App Store Connect management:

npm run asc -- auth status --validate
npm run asc -- apps list
npm run asc -- builds list --app-id APP_ID
npm run asc -- testflight groups list --app-id APP_ID

Common release flow after a build is processed:

npm run asc -- apps list
npm run asc -- versions list --app-id APP_ID
npm run asc -- builds list --app-id APP_ID
npm run asc -- versions attach-build --version-id VERSION_ID --build-id BUILD_ID

Submit for review only after metadata, screenshots, pricing, privacy details, and review details are complete:

npm run asc -- submit create --app-id APP_ID --version-id VERSION_ID --platform IOS

Notes

  • Use TestFlight first, even for a small app.
  • Increment the build number before each upload.
  • Keep .p8, .p12, provisioning profiles, and local env files out of git.
  • If Xcode signing fails, open ios/hotdog.xcworkspace, select the hotdog target, and confirm the Apple team/signing settings.