Add universal macOS release build with exported opening verification
This commit is contained in:
@@ -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)"
|
||||||
|
|||||||
@@ -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の確認対象になる。
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user