MonoGame/MonoMacおよびXamarin.Macで起動時にクラッシュする
目次
原因:MainMenuがない
MonoGame 3.4および3.5でMacプロジェクト(MonoMacまたはXamarin.Mac)を新規作成し実行すると即座にクラッシュする。MonoGame 3.3などからNuGetだけ3.4などにアップデートしても同様の現象になる。古いプロジェクトをアップデートする際に原因不明で悩むことになると思う。
_createMenuRef called with existing principal MenuRef already associated with menu
この問題はプロジェクト内にMainMenu.xibファイルがないことによるもののようだ。
解決策
- プロジェクトにMainMenu.xibファイルを追加する
- 右クリックで「追加」→「新しいファイル」を選ぶ
- 左側の一覧から「MonoMac」または「Xamarin.Mac」を選ぶ
- 右側の一覧から「Main Menu」を選び、下部の名前に「MainMenu.xib」と入力して「新規」ボタンを押す
- info.plistを開きMain Interfaceという入力欄(コンボボックス)に「MainMenu」を指定する
- 最上部のMac OS Application Targetというカテゴリ内にある
- 再ビルドする
- xibファイル絡みの変更時は「ビルド」ではなく「再ビルド」をしないと変更が反映されないことが多いので注意すること