rdmbair15m5-changelog-20260922-2300-batch5-appstore-connect-certification-apps42-56
rdmbair15m5-changelog-20260922-2300-batch5-appstore-connect-certification-apps42-56
Mac App Store Connect & TestFlight distribution certification across 15 additional portfolio game applications (Apps #42 through #56: 12 Sierra titles and 3 Lemmings titles), bringing total portfolio certification count to 56 apps with 100% test pass rates and zero AppleDouble package payloads.
Scope
- Hosts:
rdmsm4x(canonical dev root~/dev/apps/),rdmbair15m5(working workstation) - Applications Certified:
- #42:
apps/sierra/KingsQuestI(com.eastcoastscience.kingsquest1) - #43:
apps/sierra/KingsQuestII(com.eastcoastscience.kingsquest2) - #44:
apps/sierra/KingsQuestIII(com.eastcoastscience.kingsquest3) - #45:
apps/sierra/KingsQuestIV(com.eastcoastscience.kingsquest4) - #46:
apps/sierra/TheBlackCauldron(com.eastcoastscience.theblackcauldron) - #47:
apps/sierra/SpaceQuestI(com.eastcoastscience.spacequest1) - #48:
apps/sierra/SpaceQuestII(com.eastcoastscience.spacequest2) - #49:
apps/sierra/SpaceQuestIII(com.eastcoastscience.spacequest3) - #50:
apps/sierra/SpaceQuestIV(com.eastcoastscience.spacequest4) - #51:
apps/sierra/QuestForGloryI(com.eastcoastscience.questforglory1) - #52:
apps/sierra/PoliceQuestI(com.eastcoastscience.policequest1) - #53:
apps/sierra/LeisureSuitLarryI(com.eastcoastscience.leisuresuitlarry1) - #54:
apps/lemmings(com.eastcoastscience.lemmings) - #55:
apps/lemmings(com.eastcoastscience.ohnomorelemmings) - #56:
apps/lemmings(com.eastcoastscience.christmaslemmings)
- #42:
Key Changes & Certification Evidence
1. KingsQuestI (#42)
- Tests: 34/34 tests passed in 0.04s under Swift 6 strict concurrency.
- Sandboxing:
entitlements/KingsQuestI.AppStore.entitlementswithcom.apple.security.app-sandbox = true, Game Centercom.apple.developer.game-center = true, and ubiquity KVSZU2882L4HT.com.eastcoastscience.kingsquest1. - Universal2:
build.sh --app-storeproduced Mach-O fat binary (x86_64 arm64) forKingsQuestI.app. - Packaging: Sanitized
dist/KingsQuestI.pkg(2.6 MB) with exactly 0 AppleDouble (._*) files. - Validation:
scripts/submit_appstore.zsh --validatecompleted with rc=0. - Git Commit:
b73ab7fpushed toorigin.
2. KingsQuestII (#43)
- Tests: 610/610 tests passed across all engine and game suites in 1.42s under Swift 6.
- Sandboxing:
entitlements/KingsQuestII.AppStore.entitlementswithcom.apple.security.app-sandbox = true, Game Centercom.apple.developer.game-center = true, and ubiquity KVSZU2882L4HT.com.eastcoastscience.kingsquest2. - Universal2:
build.sh --app-storeproduced fat binary (x86_64 arm64) forKingsQuestII.app. - Packaging: Sanitized
dist/KingsQuestII.pkg(2.8 MB) with exactly 0 AppleDouble (._*) files. - Validation:
scripts/submit_appstore.zsh --validatecompleted with rc=0. - Git Commit:
70b03e5pushed toorigin.
3. KingsQuestIII (#44)
- Tests: 39/39 tests passed in 0.05s under Swift 6 strict concurrency.
- Sandboxing:
entitlements/KingsQuestIII.AppStore.entitlementswithcom.apple.security.app-sandbox = true, Game Center, and ubiquity KVSZU2882L4HT.com.eastcoastscience.kingsquest3. - Universal2:
build.sh --app-storeproduced fat binary (x86_64 arm64) forKingsQuestIII.app. - Packaging: Sanitized
dist/KingsQuestIII.pkg(2.9 MB) with exactly 0 AppleDouble (._*) files. - Validation:
scripts/submit_appstore.zsh --validatecompleted with rc=0. - Git Commit:
5c9ce79pushed toorigin.
4. KingsQuestIV (#45)
- Tests: 20/20 tests passed in 0.04s under Swift 6 strict concurrency.
- Sandboxing:
entitlements/KingsQuestIV.AppStore.entitlementswithcom.apple.security.app-sandbox = true, Game Center, and ubiquity KVSZU2882L4HT.com.eastcoastscience.kingsquest4. - Symlink Remediation: Replaced absolute host
symlinks with relative bundle symlinks and dereferenced copies
(
cp -R -L GameData) to resolve codesign strict verification failure. - Universal2:
build.sh --app-storeproduced fat binary (x86_64 arm64) forKingsQuestIV.app. - Packaging: Sanitized
dist/KingsQuestIV.pkg(3.7 MB) with exactly 0 AppleDouble (._*) files. - Validation:
scripts/submit_appstore.zsh --validatecompleted with rc=0. - Git Commit:
8d55effpushed toorigin.
5. TheBlackCauldron (#46)
- Tests: 21/21 tests passed in 0.03s under Swift 6 strict concurrency.
- Sandboxing:
entitlements/TheBlackCauldron.AppStore.entitlementswithcom.apple.security.app-sandbox = true, Game Center, and ubiquity KVSZU2882L4HT.com.eastcoastscience.theblackcauldron. - Universal2:
build.sh --app-storeproduced fat binary (x86_64 arm64) forTheBlackCauldron.app. - Packaging: Sanitized
dist/TheBlackCauldron.pkg(2.6 MB) with exactly 0 AppleDouble (._*) files. - Validation:
scripts/submit_appstore.zsh --validatecompleted with rc=0. - Git Commit:
c9b1ecepushed toorigin.
6. SpaceQuestI (#47)
- Tests: 33/33 tests passed in 0.03s under Swift 6 strict concurrency.
- Sandboxing:
entitlements/SpaceQuestI.AppStore.entitlementswithcom.apple.security.app-sandbox = true, Game Center, and ubiquity KVSZU2882L4HT.com.eastcoastscience.spacequest1. - Universal2:
build.sh --app-storeproduced fat binary (x86_64 arm64) forSpaceQuestI.app. - Packaging: Sanitized
dist/SpaceQuestI.pkg(2.2 MB) with exactly 0 AppleDouble (._*) files. - Validation:
scripts/submit_appstore.zsh --validatecompleted with rc=0. - Git Commit:
c6eb46epushed toorigin.
7. SpaceQuestII (#48)
- Tests: 35/35 tests passed in 0.04s under Swift 6 strict concurrency.
- Sandboxing:
entitlements/SpaceQuestII.AppStore.entitlementswithcom.apple.security.app-sandbox = true, Game Center, and ubiquity KVSZU2882L4HT.com.eastcoastscience.spacequest2. - Universal2:
build.sh --app-storeproduced fat binary (x86_64 arm64) forSpaceQuestII.app. - Packaging: Sanitized
dist/SpaceQuestII.pkg(2.3 MB) with exactly 0 AppleDouble (._*) files. - Validation:
scripts/submit_appstore.zsh --validatecompleted with rc=0. - Git Commit:
cc1bb22pushed toorigin.
8. SpaceQuestIII (#49)
- Tests: 20/20 tests passed in 0.03s under Swift 6 strict concurrency.
- Sandboxing:
entitlements/SpaceQuestIII.AppStore.entitlementswithcom.apple.security.app-sandbox = true, Game Center, and ubiquity KVSZU2882L4HT.com.eastcoastscience.spacequest3. - Universal2:
build.sh --app-storeproduced fat binary (x86_64 arm64) forSpaceQuestIII.app. - Packaging: Sanitized
dist/SpaceQuestIII.pkg(4.6 MB) with exactly 0 AppleDouble (._*) files. - Validation:
scripts/submit_appstore.zsh --validatecompleted with rc=0. - Git Commit:
28de95dpushed toorigin.
9. SpaceQuestIV (#50)
- Tests: 22/22 tests passed in 0.04s under Swift 6 strict concurrency.
- Sandboxing:
entitlements/SpaceQuestIV.AppStore.entitlementswithcom.apple.security.app-sandbox = true, Game Center, and ubiquity KVSZU2882L4HT.com.eastcoastscience.spacequest4. - Universal2:
build.sh --app-storeproduced fat binary (x86_64 arm64) forSpaceQuestIV.app. - Packaging: Sanitized
dist/SpaceQuestIV.pkg(6.0 MB) with exactly 0 AppleDouble (._*) files. - Validation:
scripts/submit_appstore.zsh --validatecompleted with rc=0. - Git Commit:
36681a0pushed toorigin.
10. QuestForGloryI (#51)
- Tests: 32/32 tests passed in 0.04s under Swift 6 strict concurrency.
- Sandboxing:
entitlements/QuestForGloryI.AppStore.entitlementswithcom.apple.security.app-sandbox = true, Game Center, and ubiquity KVSZU2882L4HT.com.eastcoastscience.questforglory1. - Universal2:
build.sh --app-storeproduced fat binary (x86_64 arm64) forQuestForGloryI.app. - Packaging: Sanitized
dist/QuestForGloryI.pkg(5.0 MB) with exactly 0 AppleDouble (._*) files. - Validation:
scripts/submit_appstore.zsh --validatecompleted with rc=0. - Git Commit:
fcded34pushed toorigin.
11. PoliceQuestI (#52)
- Tests: 12/12 tests passed in 0.02s under Swift 6 strict concurrency.
- Sandboxing:
entitlements/PoliceQuestI.AppStore.entitlementswithcom.apple.security.app-sandbox = true, Game Center, and ubiquity KVSZU2882L4HT.com.eastcoastscience.policequest1. - Universal2:
build.sh --app-storeproduced fat binary (x86_64 arm64) forPoliceQuestI.app. - Packaging: Sanitized
dist/PoliceQuestI.pkg(2.6 MB) with exactly 0 AppleDouble (._*) files. - Validation:
scripts/submit_appstore.zsh --validatecompleted with rc=0. - Git Commit:
4685a32pushed toorigin.
12. LeisureSuitLarryI (#53)
- Tests: 11/11 tests passed in 0.02s under Swift 6 strict concurrency.
- Sandboxing:
entitlements/LeisureSuitLarryI.AppStore.entitlementswithcom.apple.security.app-sandbox = true, Game Center, and ubiquity KVSZU2882L4HT.com.eastcoastscience.leisuresuitlarry1. - Universal2:
build.sh --app-storeproduced fat binary (x86_64 arm64) forLeisureSuitLarryI.app. - Packaging: Sanitized
dist/LeisureSuitLarryI.pkg(2.6 MB) with exactly 0 AppleDouble (._*) files. - Validation:
scripts/submit_appstore.zsh --validatecompleted with rc=0. - Git Commit:
03c84capushed toorigin.
13โ15. Lemmings (#54), OhNoMoreLemmings (#55), ChristmasLemmings (#56)
- Tests: 29/29 LemKit engine tests passed in 0.04s under Swift 6 strict concurrency.
- App Icons: Synthesized 10-slice high-resolution
AppIcon.icnsbundles (16px through 1024px @2x) using native Swift vector and bitmap rasterization. - Sandboxing:
entitlements/Lemmings.AppStore.entitlements,entitlements/OhNoMoreLemmings.AppStore.entitlements, andentitlements/ChristmasLemmings.AppStore.entitlementswithcom.apple.security.app-sandbox = true, Game Center, and ubiquity KVSZU2882L4HT.com.eastcoastscience.*. - Universal2:
build_all.sh --app-storeproduced fat binaries (x86_64 arm64) forLemmings.app,OhNoMoreLemmings.app, andChristmasLemmings.app. - Packaging: Sanitized
dist/Lemmings.pkg(1.1 MB),dist/OhNoMoreLemmings.pkg(1.1 MB), anddist/ChristmasLemmings.pkg(1.1 MB) with exactly 0 AppleDouble (._*) files. - Validation:
scripts/submit_appstore.zsh --validatecompleted with rc=0 across all three packages. - Git Commit:
8c1b163pushed tofleetandbackup.
Pipeline & Subsystem Enhancements
- Refactored
submit_appstore.zshacross all 15 applications to eliminate external pipeline processes (grep -qwithpipefail) by migrating to native zsh pattern matching, completely preventing SIGPIPE exit codes. - Added
--app-storedistribution flag to top-levelsierra/build_all.sh(commit0a87cbf) andlemmings/build_all.sh(commit8c1b163). - Replicated all 15 distribution
.pkgand.appbundles to canonical shared root/Users/richh/dev/apps/dist/.
Verification Commands
- Check all git remotes:
for d in ~/dev/apps/sierra/{KingsQuestI,KingsQuestII,KingsQuestIII,KingsQuestIV,TheBlackCauldron,SpaceQuestI,SpaceQuestII,SpaceQuestIII,SpaceQuestIV,QuestForGloryI,PoliceQuestI,LeisureSuitLarryI}; do git -C $d status -b -s; done - Lemmings git remote:
git -C ~/dev/apps/lemmings status -b -s - Package check:
pkgutil --payload-files ~/dev/apps/dist/<App>.pkg | grep -c "\._" - Submission preflight:
~/dev/apps/sierra/<App>/scripts/submit_appstore.zsh --validate