apple build/upload: accept --allow-version-mismatch (flag list regenerated); 1.0 and 1.0.0 are one version train
This commit is contained in:
parent
ebd64e0f76
commit
c7bae75ed0
4 changed files with 20 additions and 2 deletions
|
|
@ -68,6 +68,7 @@
|
|||
"apple build": [
|
||||
"allow-ssh",
|
||||
"allow-stale-web",
|
||||
"allow-version-mismatch",
|
||||
"build-number",
|
||||
"configuration",
|
||||
"keychain",
|
||||
|
|
@ -304,6 +305,7 @@
|
|||
],
|
||||
"apple upload": [
|
||||
"allow-existing",
|
||||
"allow-version-mismatch",
|
||||
"build",
|
||||
"csv",
|
||||
"group",
|
||||
|
|
@ -648,11 +650,17 @@
|
|||
"allow-stale-web",
|
||||
"dir",
|
||||
"flavor",
|
||||
"include-drafts",
|
||||
"module",
|
||||
"no-prebuild",
|
||||
"not-sent-for-review",
|
||||
"out",
|
||||
"prune",
|
||||
"src",
|
||||
"variant",
|
||||
"version-code",
|
||||
"version-name"
|
||||
"version-name",
|
||||
"write"
|
||||
],
|
||||
"play data-safety": [
|
||||
"csv",
|
||||
|
|
@ -1018,6 +1026,7 @@
|
|||
"allow-price-changes",
|
||||
"allow-ssh",
|
||||
"allow-stale-web",
|
||||
"allow-version-mismatch",
|
||||
"alpha",
|
||||
"apk",
|
||||
"app",
|
||||
|
|
@ -1265,6 +1274,7 @@
|
|||
"storebound accounts [list] [--json] every profile: Apple key, Play account (masked), which",
|
||||
"storebound accounts import [--dir <project>] [--name <profile>] [--dry] [--yes]",
|
||||
"storebound accounts use <profile> [--dir <project>] this project uses that profile (\"account\" in its",
|
||||
"storebound accounts play-developer <profile> <id> | --clear",
|
||||
"storebound accounts default <profile> | --clear the machine's default profile (a pointer file in the"
|
||||
],
|
||||
"ads": [
|
||||
|
|
|
|||
|
|
@ -177,7 +177,9 @@ export function ipaInfo(ipa: string | Buffer): IpaInfo {
|
|||
* that ignores the version storebound or the release script intends exports MARKETING_VERSION 1.0), else null.
|
||||
* `wanted` is the --version of apple build or the editable App Store version; `source` names where it comes from. Pure. */
|
||||
export function ipaVersionProblem(ipaVersion: string, wanted: string | null | undefined, source: string): string | null {
|
||||
if (!wanted || ipaVersion === wanted) return null;
|
||||
// Apple compares version strings numerically with missing parts as 0: 1.0 and 1.0.0 are the same train
|
||||
const norm = (v: string) => v.trim().split('.').map(n => String(Number(n))).join('.').replace(/(\.0)+$/, '');
|
||||
if (!wanted || norm(ipaVersion) === norm(wanted)) return null;
|
||||
return `the IPA has version ${ipaVersion} (CFBundleShortVersionString), but ${source} is ${wanted}: the Xcode project sets MARKETING_VERSION itself, so the build lands in the wrong version train. Make the project read the intended version (xcodebuild MARKETING_VERSION=${wanted}, or set it in the project / Info.plist), build again, or pass --allow-version-mismatch to go on anyway.`;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue