Use Xcode Cloud to build the iPhone app without owning a Mac. This still uses Apple's official signing and TestFlight flow, but the app does not have to be published on the App Store.
Use TestFlight (Internal Testing Only) for development builds. Internal testing makes builds available to App Store Connect users you invite; it does not list or publish the app publicly.
Create a new app record:
- Name:
Computer Use - Bundle ID:
com.peytontolbert.mobilecomputeruse - SKU: any unique internal value, for example
mobile-computer-use - Platform: iOS
Create a workflow for:
- Workspace:
apps/mobile/ios/App/App.xcworkspace - Scheme:
App - Archive action distribution:
TestFlight (Internal Testing Only) - Branch:
main
The repo includes:
apps/mobile/ios/App/ci_scripts/ci_post_clone.sh
Xcode Cloud runs that script after cloning. It installs Node if needed, runs
npm ci, validates the app shell, and runs npx cap sync ios before Xcode
builds the native project.
Before enabling TestFlight distribution, confirm the app record and bundle ID exist in App Store Connect:
com.peytontolbert.mobilecomputeruse
In Xcode Cloud, keep signing automatic and select the Apple Developer team that owns that bundle ID.
On a Mac:
cd apps/mobile
npm ci
npm run sync
npm run open:iosThen use Xcode to select your team, run on device, or configure Xcode Cloud.