Files
BizGaze_Remote/mobile/IOS_SETUP.md
T

4.2 KiB
Raw Blame History

Biz Connect — iOS App Store setup (Codemagic, no Mac needed)

The iOS app is a Capacitor shell that loads the live Connect web UI (https://remote.bizgaze.com). Building/signing/uploading happens on Codemagic's macOS cloud — you never need a Mac.

Bundle id: com.bizgaze.connect · CI config: codemagic.yaml (repo root).


Step 0 — Register the App ID (Identifiers → + → App IDs → App)

On the Register an App ID page, only three fields matter — leave everything else default:

  • Platform: leave as-is (the default iOS, iPadOS, macOS… combined App ID is fine).
  • Description: Biz Connect (label only; no @ & * ").
  • Bundle ID: keep Explicitcom.bizgaze.connect.
  • Capabilities: tick Push Notifications only. Leave all others unchecked. (Camera/mic are NOT here — they're Info.plist runtime strings, added by the build pipeline.)
  • Continue → Register. (The App ID Prefix shown is your Team ID — note it for Step 5's APNs.)

Step 1 — App Store Connect: create the app record

  1. appstoreconnect.apple.comApps → +New App.
  2. Platform iOS, Name Biz Connect, primary language, Bundle ID = com.bizgaze.connect (the App ID you registered in Step 0 now appears in the dropdown).
  3. SKU: anything unique (e.g. bizconnect-ios). Create.

Step 2 — App Store Connect API key (for Codemagic to sign + upload)

  1. App Store Connect → Users and Access → Integrations → App Store Connect API+.
  2. Access App Manager. Generate. Note the Issuer ID (top of the page) and the key's Key ID, and download the .p8 (you can only download it once).

Step 3 — Codemagic: connect + add the key

  1. codemagic.io → sign in with the git provider → add this repository.
  2. Teams → Integrations → App Store Connect → Connect, upload the .p8, paste the Issuer ID and Key ID. Name it exactly BizGaze App Store Connect (the codemagic.yaml references that name).
  3. Codemagic detects codemagic.yaml. That's all the signing setup — automatic signing creates the distribution certificate + provisioning profile from this key on the first build.

Step 4 — Run the build

  • Codemagic → the app → Start new build → workflow "Biz Connect iOS → TestFlight".
  • ~1015 min. On success the build appears in App Store Connect → TestFlight.
  • Add yourself under TestFlight → Internal Testing to install via the TestFlight app on your iPhone.

Step 5 — Push notifications (APNs) — do this once, then tell me

So the app gets calls/messages while it's closed:

  1. developer.apple.com → Keys → + → enable Apple Push Notifications service (APNs) → download the .p8. Note its Key ID and your Team ID (top-right of the developer portal).
  2. Send me: the .p8 contents, the Key ID, and the Team ID. I set these in the server .env (server-side only, like the LiveKit/Giphy keys):
    APNS_KEY=<contents of the .p8>
    APNS_KEY_ID=<key id>
    APNS_TEAM_ID=<team id>
    APNS_BUNDLE_ID=com.bizgaze.connect
    APNS_PRODUCTION=1
    
    The APNs sender is already built into the server — it's a no-op until these are set.

Step 6 — Public App Store submission (when you're ready to leave TestFlight)

In App Store Connect, fill the listing: screenshots (6.7" + 6.1" iPhone), description, keywords, support URL, and a Privacy Policy URL (required). Complete the App Privacy questionnaire (we collect account info + usage for chat/calls). Then submit for review (or flip submit_to_app_store in codemagic.yaml).


App Review note (Guideline 4.2 — "Minimum Functionality")

Apple scrutinises apps that look like "just a website". Ours passes because it ships real native capabilities — push notifications, camera/microphone for calls, photo sharing. Make sure push (Step 5) is live before the public submission, and in the reviewer notes mention the native video calling + screen sharing so it's obvious this is more than a web view. TestFlight builds are fine without push.