apple iap-submit: DEVELOPER_REJECTED IAP / subscription / group versions (left by a canceled submission) are submitted as they are, plan says 'add (developer rejected, re-submitted as is)', --new-version only for APPROVED / REJECTED, empty draft reused; fake ASC models cancel and re-add. play build / check: warn before Gradle when defaultConfig does not read -PversionCode / -PversionName, with the exact Groovy / Kotlin line (built with AGP 8.13); android.injected.version.code does not override bundleRelease; post-build versionCode mismatch is a hard stop. play-production-release plan: 'Do you want to restart your review?' dialog, Restart review is never-press. Pitfalls 31-33
This commit is contained in:
parent
41d2ffcc24
commit
0b1451800c
18 changed files with 399 additions and 26 deletions
13
cli/check.ts
13
cli/check.ts
|
|
@ -12,6 +12,7 @@ import { trackingIssue } from './lib/privacy-manifest';
|
|||
import { type AsoFinding, auditAso } from './lib/aso';
|
||||
import { draftLocales } from './lib/aso-intel';
|
||||
import { appleName, playCodes } from './lib/config';
|
||||
import { appBuildFile, pickGradle, versionSourceIssues, versionSourceMessage } from './lib/gradle';
|
||||
import { playConsoleReminders } from './lib/console-plan';
|
||||
import { APPLE_IAP_LIMITS, appleNameIssues, len, parseAppStoreListing, parsePlayListing } from './lib/copy';
|
||||
import type { Ctx } from './lib/ctx';
|
||||
|
|
@ -160,6 +161,18 @@ export async function run(ctx: Ctx): Promise<void> {
|
|||
const st = webState(ctx.loaded.root, store, cap);
|
||||
if (st.staleness.stale) note(`${store}: ${staleMessage(st.path, st.staleness, st.copied)}. Set build.prebuild (e.g. "npm run build && npx cap sync") so apple build / play build refresh them`);
|
||||
}
|
||||
// play build passes -PversionCode / -PversionName: the app module's build file must read them (seen live: a
|
||||
// Capacitor app read versionCode from an env var and the AAB stayed at 1)
|
||||
if (config.play) {
|
||||
const b = config.play.build ?? {};
|
||||
try {
|
||||
const cap = capacitorProject(ctx.loaded.root, b.dir);
|
||||
const sub = !b.dir && cap?.dir ? cap.dir : '';
|
||||
const t = pickGradle(sub ? join(ctx.loaded.root, sub) : ctx.loaded.root, { dir: b.dir, module: b.module, flavor: b.flavor });
|
||||
const file = t.framework === 'flutter' ? null : appBuildFile(t);
|
||||
if (file) for (const i of versionSourceIssues(file)) note(`play: ${versionSourceMessage(i, relative(ctx.loaded.root, file), t.framework)}`);
|
||||
} catch { /* no Gradle project here (yet): play build says so */ }
|
||||
}
|
||||
for (const i of profileIssues(config,{ demoAccount: !!reviewDemoAccount(ctx.loaded.root) })) {
|
||||
if (i.level === 'error') problems.push(i.msg); else warn('check', i.msg);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue