Overview
Xamarin.MacではDebugビルドではうまく動作しても,いざReleaseビルド,AppStoreビルドにすると突如動かなくなることはよくあります。
たいていはリンカーのせいなので,MvvmCrossに限らず,うまくいかないときに見ておくべき設定をまとめておきます。
Problem
このままビルドしても,MissingMethodException
でまず動きません。
まずはLinker BehaviorをLink Framework SDK Only
に変更します。
うまく実行できるように見えますが,バインディング周りが非常に怪しいことがわかります。テキストを入力する,ボタンをクリックするなどなにかするとApplication Outputが火を噴きます。
Solution
うまく動作する設定は下記の通りです。
要は
・フレームワークSDKのみ
・SGenガベージコレクタを使う
の2設定を行うことで正常に動作します。AppStoreビルドでも同様です。
Conclusion
転んでも泣かない。
きっと#2が出てくるはず。(NSSecureTextField->SecureStringとか・・・)