apple build exports each build into build/ios/export/<version>-<build>/ (cleaned first), runs xcodebuild with Apple's tool folders first on PATH (Homebrew rsync 3.x broke Xcode's IPA step: exportArchive Copy failed), shows the IDEDistribution log's real error lines and exits non-zero on any export failure; apple upload fails with exit 1 when the IPA's build number is already on App Store Connect (stale IPA after a failed build), --allow-existing re-checks, --build N picks that build's IPA, release and beta flows use both; doctor flags a non-Apple rsync first on PATH; desktop publish calls rsync by absolute path without --chmod (publishSteps); site download notice per OS (macOS signed and notarized, Windows unsigned for now, Linux unsigned); game-report credential tests hermetic against a machine default profile (pitfalls 53, 54)

This commit is contained in:
CRTkafa 2026-10-13 09:45:48 +08:00
parent 8fd4ac741e
commit 0e4f579899
20 changed files with 338 additions and 48 deletions

View file

@ -626,3 +626,18 @@ that fails without the fix (see CONTRIBUTING.md).
- **Do:** `storebound apps add --store apple --app-id <id> --account <profile>`; the desktop shows it read-only
("Store only": status, reviews, analytics). `apps remove apple:<id>` takes it out.
- **Guard:** `storeApps` in `~/.storebound/projects.json` (`cli/lib/registry.ts`, `registry.rs`), the boot check.
## 53. `apple upload` passed a stale IPA as "already VALID"
- **Do:** upload the IPA `apple build` just printed (`build/ios/export/<version>-<build>/App.ipa`), or `apple upload
--build N`. An IPA whose build number is already on App Store Connect now fails with exit 1: the last build failed;
run `apple build` again. `--allow-existing` only for re-checking a build this command uploaded before (flows use it
with `--build ${BUILD}`).
- **Guard:** per-build export folders, `existingBuild` / `exportedIpas` (`cli/apple/upload.ts`), `exportIpa`
(`cli/apple/build.ts`), `tests/apple-build-export.test.ts`.
## 54. "exportArchive Copy failed": a Homebrew rsync on PATH
- **Do:** read the IDEDistribution log lines `apple build` prints. "rsync error: syntax or usage error" means a
non-Apple rsync (Homebrew 3.x) is first on PATH; storebound runs xcodebuild with /usr/bin first, `storebound doctor`
names the culprit. Never install or `brew link` a global tool as a side effect on a shared machine.
- **Guard:** `xcodePath`, `foreignRsync`, `distributionErrors` (`cli/lib/xcode.ts`), doctor, `publishSteps`
(`tools/desktop-release.ts`, rsync by absolute path).