← ClaudeAtlas

xcode-cloudlisted

Set up, debug and maintain Xcode Cloud CI for a React Native iOS app — the ci_post_clone.sh / ci_pre_xcodebuild.sh scripts that install node, pods and the RN prebuilt tarballs, the workflow settings, and the App Store Connect prerequisites for TestFlight. Use when the user asks to set up Xcode Cloud, add CI to an iOS app, get builds into TestFlight, or fix a failing cloud build; when an archive fails with "Unable to load contents of file list", "node: command not found", a curl error inside pod install, a bigdecimal or bundler failure, or a bare exit 65; when a green archive never reaches TestFlight; or before touching anything under ios/ci_scripts/, .xcode.env, Podfile, or Gemfile. Also use to record a newly diagnosed cloud build failure so it is not re-derived next time.
ltatarev/skills · ★ 0 · DevOps & Infrastructure · score 65
Install: claude install-skill ltatarev/skills
# Xcode Cloud for a React Native app Xcode Cloud clones the repo and **nothing else**. `node_modules/` and `Pods/` are both gitignored, so a fresh clone has no JavaScript and no pods — the archive has to install them itself before `xcodebuild` ever runs. That is the whole job of `ci_post_clone.sh`, and nearly every "Xcode Cloud is broken" report is really that job failing in one of a dozen documented ways. This skill carries those ways. **`references/failure-catalogue.md` is the highest-value file here** — grep it for the literal error text before theorising about any failure. | File | What it is | | --- | --- | | `references/ci_post_clone.sh` | The install script. Template; three lines to check per project. | | `references/ci_pre_xcodebuild.sh` | Build-number stamping. Generic as written. | | `references/failure-catalogue.md` | Symptom → real cause → fix. Append-only. | | `references/build-machine-facts.md` | What the runner actually provides, with observation dates. | | `references/project-memory.md` | The per-project doc skeleton + the hook that keeps it current. | ## Phase 0 — ground yourself in the repo Never write these scripts from the template alone. Five minutes here saves a build, and each failed build costs 10–20 minutes of round trip. ```bash ls -d ios/*.xcworkspace ios/*.xcodeproj ios/ci_scripts 2>/dev/null ls ios/*.xcodeproj/xcshareddata/xcschemes/ # scheme shared? empty = not shared node -p "require('./package.json').dependencies['react-native']" cat