Add universal macOS release build with exported opening verification

This commit is contained in:
Takeshi
2026-09-10 00:07:16 +09:00
parent 6aa7397c2e
commit 6077e02ebe
4 changed files with 50 additions and 0 deletions
+7
View File
@@ -191,6 +191,13 @@ test-transport-comparison:
# Check the actual shipped data outside this checkout, including first build. # Check the actual shipped data outside this checkout, including first build.
WINDOWS_PCK ?= build/windows/TheTree.pck WINDOWS_PCK ?= build/windows/TheTree.pck
MACOS_APP ?= build/macos/TheTree.app
.PHONY: export-macos
export-macos:
mkdir -p build/macos
$(GODOT) --headless --path . --export-release "macOS" "$(MACOS_APP)"
python3 tools/verify_exported_opening.py "$(MACOS_APP)/Contents/Resources/The Tree.pck" --godot "$(GODOT)"
.PHONY: test-exported-opening .PHONY: test-exported-opening
test-exported-opening: test-exported-opening:
python3 tools/verify_exported_opening.py "$(WINDOWS_PCK)" --godot "$(GODOT)" python3 tools/verify_exported_opening.py "$(WINDOWS_PCK)" --godot "$(GODOT)"
+19
View File
@@ -0,0 +1,19 @@
# macOS配布ビルド
`make export-macos` で `build/macos/TheTree.app` を生成する。Godot 4.7.2の公式macOSテンプレートを使用し、Apple Silicon / IntelのUniversalバイナリとして出力する。ARM用の書き出しに必要なETC2/ASTCインポートを有効にした。
署名はGodot組み込みのad-hoc署名。Apple Developer IDによる署名・公証は未実施。
## 検証(2026-09-10)
- アプリ内のPCKを制作フォルダー外からGodotで実行し、受付の表示・選択・500Gの支払い・完成・次の案内まで13項目成功。保存は無効。
- 実際のMacリリース実行ファイルをApple M4でheadless起動、20フレームで正常終了。
- Finder経由でアプリを開き、ゲーム画面の表示を確認。
- `file`でarm64とx86_64を確認。`codesign --verify --deep --strict`成功。
- Intel実機での起動は未確認。
公式releaseテンプレートはパス上書きが無効であり、外部テストの`--main-pack`を受け付けない。13項目の自動回帰はエディター実行ファイルで配布PCKを検証し、ネイティブアプリ起動確認と区別する。
ログ: `artifacts/macos-opening.log`、`artifacts/macos-native-smoke.log`。画面: `artifacts/macos-opening.png`。
配布ZIPはアプリとライセンスを同梱する。展開して`TheTree.app`を開く。ネットから取得した未公証アプリはGatekeeperの確認対象になる。
+23
View File
@@ -35,3 +35,26 @@ application/product_name="The Tree"
application/file_description="The Tree prototype" application/file_description="The Tree prototype"
application/copyright="" application/copyright=""
application/trademarks="" application/trademarks=""
[preset.1]
name="macOS"
platform="macOS"
runnable=true
export_filter="all_resources"
include_filter=""
exclude_filter="tests/*, docs/*, .vscode/*"
export_path="build/macos/TheTree.app"
[preset.1.options]
binary_format/architecture="universal"
application/name="The Tree"
application/icon="res://assets/icons/project_icon.svg"
application/bundle_identifier="com.toriniku.the-tree"
application/short_version="0.1.0"
application/version="0.1.0"
codesign/codesign=1
notarization/notarization=0
texture_format/s3tc_bptc=true
texture_format/etc2_astc=true
+1
View File
@@ -43,3 +43,4 @@ window/stretch/scale_mode="fractional"
renderer/rendering_method="gl_compatibility" renderer/rendering_method="gl_compatibility"
renderer/rendering_method.mobile="gl_compatibility" renderer/rendering_method.mobile="gl_compatibility"
textures/vram_compression/import_etc2_astc=true