AltStore / Sideloadly on non-jailbroken devices. macOS Sonoma + Xcode 15 runner used.com.john.myapp
CODE_SIGNING_ALLOWED=NO — install via AltStore or Sideloadly for free.com.you.myapp), version. The web files from APK Step 03 are reused automatically..p12 cert + .mobileprovision. Skip entirely to build an unsigned IPA for AltStore/Sideloadly.-ios suffix to the repo name to avoid conflicts.xcodebuild, and the IPA is downloaded automatically..cer..cer to install in Keychain → right-click it → Export as .p12 → set a strong password → save..mobileprovision..ipa onto the AltStore window → it signs and installs using your free Apple ID.My App
com.john.myapp. Use only lowercase letters, numbers and dots.
MAJOR.MINOR.PATCH e.g. 1.0.0
1 and go up with each release.
API 21 for maximum reach.
repo scope (full repository access)ghp_)repo scope → Generate Token.github.com/USERNAME
myapp-android
com.john.myapp), and version info..apk file. Transfer to phone and install with Unknown Sources enabled.katz-apk-maker. Set expiration to 90 days or No expiration.repo scope checkbox (this grants full repo access for creating repos and pushing files).ghp_. You won't see it again!.github/workflows/build-apk.yml file that runs on every push to main.assembleRelease → uploads the APK as an artifact.npm run build). For React Native, upload your source and a package.json.flutter build apk --release..apk file..apk file inside..apk file.github.com/YOUR_USER/YOUR_REPO/actions → click the latest workflow run → scroll to Artifacts section → click the artifact to download.repo scope. Create a new token with repo checked.com.yourname.app. Use only lowercase letters, numbers, and dots. At least 2 segments separated by a dot.