|
|
b18d480d65
|
iPhone Duo: accept platform IPHONE_APP_STORE from appAssetLibraryRefData; a Duo failure warns, other sets continue
|
2026-11-08 15:49:17 +07:00 |
|
|
|
73a962fbdc
|
apple screenshots: iPhone Duo through the App Asset Library (IPHONE_DUO placement group, APP_SCREENSHOT), pitfall 130
|
2026-11-08 14:19:12 +07:00 |
|
|
|
d05294ebcd
|
apple submit/resubmit --platform macos: apple.macos.noIap leaves IAPs out, no Game Center switch without apple.macos.gameCenter; pitfalls #128
|
2026-11-06 21:07:22 +07:00 |
|
|
|
64cb16e337
|
apple build --platform macos: apple.macos.prebuild, not the iOS project's build.prebuild
|
2026-11-04 00:17:04 +07:00 |
|
|
|
68467ffe9b
|
apple build --platform macos: --tauri takes tauri.<name>.conf.json (tauri.appstore.conf.json found by itself), entitlements from --entitlements / apple.macos.entitlements / the merged config, Developer-ID-only keys refused or warned
|
2026-11-03 23:40:25 +07:00 |
|
|
|
1e47c2ee60
|
apple.macos listing / review notes per platform + iOS-only claim warnings; apple upload of a .pkg: bounded pkgutil, macOS processing wait, heartbeats; release 409 pattern
|
2026-11-03 23:40:25 +07:00 |
|
|
|
f5da7c9f7a
|
validate: macOS versions need Mac screenshots, Play reads survive an ended edit; macOS build numbers across platforms; Mac build prebuild + apple.macAppCheck; signing wording off the Mac; dry flows plan uploads
|
2026-11-02 18:16:25 +07:00 |
|
|
|
724f5b9763
|
apple build: a line before each slow step (App Store Connect reads, device families, web build)
|
2026-10-30 00:16:11 +07:00 |
|
|
|
1abd0936c3
|
testflight: description keys by language id or App Store locale, unknown keys are a config error, primary-locale check before Beta App Review
|
2026-10-29 22:33:59 +07:00 |
|
|
|
6ebb656018
|
apple listing: a new version inherits the previous version's release type when apple.releaseType is unset; warn when the config differs
|
2026-10-29 20:19:21 +07:00 |
|
|
|
9a878d6562
|
apple upload: find the IPA of a build made with --out (build notes it in .storebound/last-apple-build.json; upload --out; the error names every folder searched and the last build's IPA)
|
2026-10-27 18:58:48 +07:00 |
|
|
|
85cf494c0a
|
apple: release type (apple.releaseType, apple release --after-approval|--manual), device-family preflight, TestFlight invite needs an installable build
|
2026-10-27 17:07:37 +07:00 |
|
|
|
f109c519ae
|
apple build: --derived-data (default <out>/DerivedData with --out), --path-free (Swift/clang prefix maps, no serialized debug options) and an archive path scan
|
2026-10-26 19:12:21 +07:00 |
|
|
|
ae9d26d3f6
|
Updates are agent steps: --yes ships an update of a live app (Play production, App Store submit / release) without an owner gate; the first release stays the owner's (exit 3 OWNER_STEP, --first-release); apple release is a ship step
|
2026-10-26 18:09:50 +07:00 |
|
|
|
304407e523
|
apple signing: App Group association fails early under automatic signing too (API capability + newest profile, steps and deep link, exit before the archive); console plan/verify apple-app-group
|
2026-10-25 22:35:36 +07:00 |
|
|
|
445ab1adbc
|
apple signing: every signable target (extensions, App Group check), build keychain unlock over SSH, api confirm docs
|
2026-10-24 13:07:58 +08:00 |
|
|
|
0263f62443
|
mas build: cargo target folder is src-tauri/target
|
2026-10-24 12:23:20 +08:00 |
|
|
|
5fc15dd773
|
apple build/upload: flags and help for the macOS Tauri path
|
2026-10-24 12:23:17 +08:00 |
|
|
|
9a937b5512
|
apple build --platform macos --tauri: Mac App Store build of a Tauri app (sandbox entitlements, profile, productbuild pkg, path-free, checks); apple upload accepts the pkg
|
2026-10-24 12:22:27 +08:00 |
|
|
|
fb1609cba7
|
upload --pre-check/--evidence, shots copy translate, game-center --locale-map, play games API-disabled hint
|
2026-10-24 12:16:48 +08:00 |
|
|
|
b0641c1fc8
|
play products: clamp regional prices to Play's min/max, per-product results; apple iap: skip live localizations, per-product results
|
2026-10-23 16:53:25 +08:00 |
|
|
|
06a0b424f5
|
Ship-step contract for pipelines: uniform exit codes (0/1/2/3/4/7) in cli/lib/ship-step.ts, one final --json line, --result-file (atomic, also on failure), --progress json, --env-file with secret redaction, --version-from; idempotent play upload / apple upload / play release / apple submit re-runs end with exit 7; play upload takes --track production and --version-code
|
2026-10-23 13:13:21 +08:00 |
|
|
|
7960063e0e
|
Signed AAB guardrails, injected signing args, IPA version train check, Play notes lint at build
|
2026-10-23 08:49:43 +08:00 |
|
|
|
abc195aee6
|
Subscriptions drift on both stores (Apple prices in the dry run, localizations, group names, attributes, territories, intro offers reported; Play offer phases and prices, other-regions price, dropped regions gated, grace period, --prune-languages); pitfall 104, CHANGELOG; test fixtures for the new reads
|
2026-10-22 20:49:43 +08:00 |
|
|
|
e381bc2256
|
Drift on existing items: offer-code and win-back campaigns that differ are named (Apple cannot edit them), in-app event attributes patched on drafts, a removed custom page deep link cleared, config languages without a version localization named, data safety dry run says Play has no read API; appinfo reads /v1/appPriceSchedules/{id}/manualPrices; a new Play language without an icon warns instead of stopping; fake store lists for the new reads
|
2026-10-22 20:38:54 +08:00 |
|
|
|
f2b841d735
|
apple appinfo: live app price and availability compared with the config (price change needs --allow-price-changes, territory removals --allow-availability-changes); review-details --dry reads the store and shows old -> new (masked)
|
2026-10-22 20:33:46 +08:00 |
|
|
|
f7ff52dfdd
|
apple iap: existing products are compared with the config: localization name / description, reference name, review note (patched), family sharing (reported; on only), availability territories; all shown in the dry plan, one line each
|
2026-10-22 20:32:52 +08:00 |
|
|
|
4b0f9cd5b8
|
apple iap: the dry run shows a live price that differs from the config (USA base and overrides) and --allow-price-changes replaces the price schedule; prices diff (the catalog diff report)
|
2026-10-22 20:28:16 +08:00 |
|
|
|
cbba936ed8
|
Entitlements reference check compares forward-slash paths on every OS (false 'not referenced by CODE_SIGN_ENTITLEMENTS' on Windows); test, pitfall 103
|
2026-10-22 16:03:07 +08:00 |
|
|
|
b97f23701f
|
apple build stops before the archive in an SSH / non-GUI session (errSecInternalComponent) with how to run it in the logged-in session, --allow-ssh to skip; relative credential paths resolve from the project and xcodebuild gets an absolute ASC key path; tests, pitfall 101
|
2026-10-22 02:38:45 +08:00 |
|
|
|
73d308164d
|
Windows builds and moved credentials: play build runs gradlew.bat through cmd /c and takes C:/ keystore paths as absolute (pitfall 98); check names credential paths missing on this machine and a keystore the stored password / alias do not open (keytool) (pitfall 99); play / apple build write <out>/latest.json for CI; CI install from a git clone documented
|
2026-10-22 02:10:52 +08:00 |
|
|
|
00756e6908
|
Screenshot guardrails: name every screenshot not COMPLETE on 409 ASSET_IN_POST_PROCESSING (submit, validate; stuck after 5 min in UPLOAD_COMPLETE), apple screenshots --repair-stuck replaces only those in place, part uploads without Expect: 100-continue (failed part deletes the reservation, one retry, never committed), storebound api --confirm <operationId> for agents' plain writes (never owner-only)
|
2026-10-21 18:08:57 +07:00 |
|
|
|
4d70be3404
|
apple submit --yes submits a draft prepared with --no-submit that already holds the version and items (was 'nothing to submit'); iap-submit the same for a draft holding the asked-for items; test, pitfall 90, CHANGELOG
|
2026-10-21 11:19:50 +07:00 |
|
|
|
aceb994cae
|
testflight distribute: groups of apple.testflight.groups missing on App Store Connect are created first (only the asked-for ones, never removed; dry run shows it); tests, skill, CHANGELOG
|
2026-10-21 05:35:19 +07:00 |
|
|
|
163e666834
|
Game Center switch before submit: apple submit / resubmit and signing ensure create gameCenterDetails and gameCenterAppVersions when Game Center is in use (config, entitlements or the built IPA), shown in the dry run; validate blocks on either missing; fake 409 BUILD_INDICATES_GAME_CENTER_ENABLED until both exist; pitfall 89
|
2026-10-21 05:33:53 +07:00 |
|
|
|
d427b5c4a4
|
apple game-center: literal API paths (query guard reads them); api coverage regenerated
|
2026-10-21 05:29:08 +07:00 |
|
|
|
26f0723641
|
games status: both stores' game services in one read-only report (CLI, MCP games_status, desktop read method); --json status output stays pure JSON
|
2026-10-21 05:28:47 +07:00 |
|
|
|
ca7289b173
|
games: one config section for Game Center and Play Games Services (shared leaderboards and achievements); apple game-center (gameCenterDetails, gameCenterAppVersions, leaderboards, achievements and localizations, upsert by vendor id, read back); play games (Games Configuration API upsert, no POST retry); signing ensure adds GAME_CENTER when games.gameCenter
|
2026-10-21 05:28:47 +07:00 |
|
|
|
335a4124ab
|
console plans: guardrails from a real run (2026-10-21): health none label and Sign in details Yes/No + Add details (old labels as altLabels, verify accepts both), finance boxes on step 1, App Privacy Additional Setup Required OK, verify from DOM input states (verify.capture, --from), Save + confirm before every Next on Play pages, IARC Digital purchases boxes and an exact-label in-page helper that refuses patterns and blanket answers; review contact found in parent folders, the profile and more key shapes with the files checked listed; one-line errors for missing required values (Args.required); pitfalls 86-87, tests
|
2026-10-21 05:03:02 +07:00 |
|
|
|
9ab64bcbdf
|
apps folders add adds the folder (template note, refusals with reasons); MCP: .mcp.json never spawns a missing plugin path (sh fallback to PATH, npx), mcp/serve skip the self-update, spawned handshake test; store build minimums in one dated table: Play target API 36 and App Store Xcode 26 / SDK 26 blocked in scan, validate, play upload/release, apple upload; pitfalls 81-83
|
2026-10-20 12:15:00 +07:00 |
|
|
|
e59539fec8
|
shots: Mac App Store screenshots (mac size, APP_DESKTOP to the macOS version), a landscape layout (Mac window or bare; Mac, Play Chromebook, Play tablets), safe margins in every template checked by shots check from the render's layout boxes, a contact sheet timeout that scales with images, sizes and load; pitfall 80
|
2026-10-20 03:29:19 +07:00 |
|
|
|
9db7180eb9
|
merge origin/main (cross-store text checker); macOS platform pitfall renumbered to 79
|
2026-10-20 03:06:16 +07:00 |
|
|
|
c2f34c62f3
|
apple creative-assets: place Header and Search Results assets once Apple approved them (the version page offers only approved assets); waiting files are reported per locale and placement with their upload date and the re-run command, in the run, --verify, validate and the report; iPhone Duo: the published API spec still has no Duo type, the note says the console takes Duo and the API does not yet
|
2026-10-20 03:04:14 +07:00 |
|
|
|
47dfd372fe
|
apple: macOS (tvOS, visionOS) versions are no longer invisible: every version and review submission lookup is per platform; status, listing, listing pull, resubmit, submit, release and screenshots take --platform and otherwise pick the platform that has the version they need (refuse naming both when several do); status, validate, release status, the report and the desktop label versions with their platform; MCP and owner actions get platform; pitfall 77
|
2026-10-20 03:00:05 +07:00 |
|
|
|
edabbec874
|
cross-store text: other platforms named in App Store text (2.3.10: Android, Google Play, ...) or Play text (Metadata: iOS, App Store, Game Center, ...) are refused by every text write (apple / play listing, play release / upload notes, listing set, whats-new, storebound edit, desktop editor), blockers in check / validate, scan other-platforms / play-other-platforms; listing.allowPlatformMentions for the owner's functional mentions; whats-new splits [apple] / [play] lines per store; storebound api --yes without a TTY is refused (exit 1, stderr) instead of a silent dry run; pitfalls 77, 78
|
2026-10-20 02:57:25 +07:00 |
|
|
|
1736300784
|
apple creative-assets: a placement App Store Connect refuses on the live version is reported with the live version page's deep link, the live page stays unchanged (new placement first, old one removed after) and the other live slots are not retried; pitfall 76
|
2026-10-20 02:50:09 +07:00 |
|
|
|
98d3bf4410
|
creative-assets: the dry run plans one upload per file, not per slot (a shared file used by 13 locales read as 26 uploads)
|
2026-10-19 06:01:56 +07:00 |
|
|
|
7e69883dfc
|
creative-assets: the no-files message names the shared creative folder too
|
2026-10-19 05:47:54 +07:00 |
|
|
|
c03291e7f7
|
apple creative-assets: a live app without an editable version uses the live version (only approved assets are selected there; new ones upload and wait for a review of their own via --add-for-review); pitfall 76: placements read back ACTIVE live, a state the 4.5.1 spec does not list
|
2026-10-19 05:45:47 +07:00 |
|
|
|
183579449c
|
apple creative-assets: select Header and Search Results assets once processed (Prepare for Submission), not once approved: Apple reviews an asset only in a review submission, so 0.8.13 waited forever; upload and select in one run with a bounded processing wait; --add-for-review puts unreviewed assets into the draft review submission (never submits); --verify reads every slot back read-only (MCP apple_creative_assets_verify); a rejected file or one that failed processing twice is not re-uploaded, an archived copy is unarchived; fake commits library assets to PREPARE_FOR_SUBMISSION; pitfall 76 rewritten; apple-name check test only looks at name hints
|
2026-10-19 05:42:53 +07:00 |
|