※本件の修正版(Xamarin.Forms 2.2.0.45)がリリース済みです。そちらを使えば問題ありません。
フォーラムでのアナウンスによると...
Thanks for all of your reports. There was a problem with the build/packaging. The issues are now fixed. Please update to 2.2.0.45
What happened? One of our build machines was set to beta channel and it was 'picked' by our CI to build the Nuget packages. This caused the iOS API mismatch.
Why didn't tests catch this? Our UI tests ran on an OSX machine that was correctly set to the stable channel. We are discussing mistake-proofing guards to prevent mismatches in the future.
https://forums.xamarin.com/discussion/comment/199961/#Comment_199961
どうやらNuGetパッケージのビルドマシンがbetaチャンネルになってた所為で、新しいXamarin iOSをターゲットにしてしまったため、iOS APIを正しく呼べなかったという事みたい。
2016/5/30 現在、Xamarin.Forms 2.2のhotfixである2.2.0.43がリリースされているのですが、 何やら問題があるらしく、iOSで「Method 'CGSize..ctor' not found.」例外を吐いて死ぬ場合があります。
自分が把握している範囲では、どうやらLabelを使うと件の例外が発生する模様。
※追記 ScrollViewも死ぬみたい
謎のエラーに苦しめられる人々
( ;∀;) / “"Method 'CGRect..ctor' not found" exception after upgrading to Xamarin Forms version 2.2.0.43 - Xamarin …” https://t.co/B95CiMj2PK
— ゆうか@C#ダイエット (@yu_ka1984) 2016年5月29日
XSのNuget問題に凄い悩まされてる。ボクからは見えないwhttps://t.co/xCRVGP543l
— 三者三羊@Xamarin無料化 (@AyaseSH) 2016年5月30日
対処法
Xamarin.Formsのバージョンを一つ前の2.2.0.31に落としましょう。
Visual Studioの場合、UIでバージョン指定ができるので簡単です。
一方、MacのXamarin Studio(Stable)ではUIでバージョン指定できません。(alfaチャンネルで使える次世代Xamarin StudioではVS同様にUIで選択可能)
検索キーワードに「version:x.y.z」付加すると過去のバージョンをインストールできます。(単に「version:」だけ付加すると全てのバージョンが列挙されるようなのでこっちでもいい)
バージョン指定方法を忘れて迷走する人々
@yu_ka1984 そもそも見つからないので無理そうです…
— 三者三羊@Xamarin無料化 (@AyaseSH) May 30, 2016
@AyaseSH @yu_ka1984 2.2.0.31のパッケージだけをどこかのディレクトリに置いて、そこをNuGetソースに設定すれば行けるのでは。(ローカルリポジトリ的な運用)
— Xamarin.Formsマン(求職中) (@ticktackmobile) May 30, 2016
@AyaseSH @ticktackmobile @yu_ka1984 https://t.co/KNi9SKCoio の6ページにある感じで、 version:x.y.z を検索ワードに追加すれば見つかりますよ
— Atsushi Eno (@atsushieno) May 30, 2016
早くhotfixのhotfixが来るといいですね。