「アプリケーション“Game.app”を開けません」の対処法
Macで作業ゲームを遊ぶ方(プレイヤー)ご自身の操作で解決できます。
作者の方がWindows版のツクールMZでMac用に書き出した場合、アプリ内部の実行権限とシンボリックリンクが失われた状態で配布されていることがあります。これがこのエラーの原因です。
書き出した時点で壊れているため、xattr -crでは解決しません。以下の手順で修復できます。
修復手順
ターミナルを使いますが、コピーと貼り付けだけで完了します。
1. ゲームのフォルダを分かりやすい場所に置く
zipを展開したフォルダを、デスクトップなどに移動しておきます。フォルダごと移動してください。Game.appだけを取り出すと、同じ階層にあるファイルを見失って起動しないことがあります。
2. ターミナルを開く
アプリケーション>ユーティリティ>ターミナルを開きます。
3. 修復コマンドを貼り付ける
以下をまるごとコピーし、ターミナルに貼り付けてEnterキーを押します。この時点ではまだ何も起こりません。修復の手順を登録しているだけです。
# NW.js製 Game.app のリンクと実行権限を修復する
fixapp() {
APP="${1%/}"
FW="$APP/Contents/Frameworks/nwjs Framework.framework"
[ -d "$FW" ] || { echo "nwjs Framework が見つかりません: $APP"; return 1; }
# 1. テキストファイルに化けたシンボリックリンクを復元
for n in "Helpers" "Internet Plug-Ins" "Libraries" "nwjs Framework" \
"Resources" "XPCServices" "Versions/Current"; do
if [ -f "$FW/$n" ] && [ ! -L "$FW/$n" ]; then
t=$(cat "$FW/$n"); rm "$FW/$n"; ln -s "$t" "$FW/$n"
echo "リンク復元: $n -> $t"
fi
done
# 2. 実行権限を付与
find "$APP" -type f \( -path "*/MacOS/*" -o -name "*.dylib" \
-o -name "chrome_crashpad_handler" -o -name "app_mode_loader" \
-o -name "nwjs Framework" \) -exec chmod +x {} \;
# 3. 隔離属性を外し、署名を付け直す
xattr -cr "$APP"
codesign --force --deep --sign - "$APP"
echo "完了しました。$APP を開いてみてください。"
}
4. Game.appをドラッグ&ドロップして実行する
続けてfixappと入力し、半角スペースを1つ空けてから、Game.appをターミナルの窓へドラッグ&ドロップします。パスが自動で入力されますので、そのままEnterキーを押してください。
$ fixapp /Users/ユーザー名/Desktop/ゲーム名/Game.app
リンク復元: Helpers -> Versions/Current/Helpers
リンク復元: Internet Plug-Ins -> Versions/Current/Internet Plug-Ins
リンク復元: Libraries -> Versions/Current/Libraries
リンク復元: nwjs Framework -> Versions/Current/nwjs Framework
リンク復元: Resources -> Versions/Current/Resources
リンク復元: XPCServices -> Versions/Current/XPCServices
リンク復元: Versions/Current -> 88.0.4324.96
完了しました。
このように表示されれば成功です。
5. Game.appの実行
改めてGame.appをダブルクリックしてください。起動するようになっているはずです。
ここで「nwjsが予期しない理由で終了しました。」と表示される場合は、続けてCの対処法をお試しください。
補足事項
- このコマンドは指定したアプリの権限を書き換えます。実行前に、ゲームが信頼できるソースからのものか確認してください。
- すでに正常なアプリに対して実行しても壊れることはありません。
- ツクールMZが書き出すアプリにはDeveloper IDによる署名も公証もありません。そのため、初回のみ右クリック>「開く」が必要になる場合があります。
- Apple シリコン(M1以降)のMacの場合、ゲームによってはRosetta 2が必要です。未導入の場合は初回起動時にインストールを促されますので、指示に従ってください。