ぴーさんログ

だいたいXamarin.Formsのブログ

【修正版リリース済み】Xamarin.Forms 2.2.0.43を使うとiOSで死ぬっぽい

※本件の修正版(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も死ぬみたい

f:id:ticktack623:20160530233005j:plain

謎のエラーに苦しめられる人々

対処法

Xamarin.Formsのバージョンを一つ前の2.2.0.31に落としましょう。

Visual Studioの場合、UIでバージョン指定ができるので簡単です。

一方、MacのXamarin Studio(Stable)ではUIでバージョン指定できません。(alfaチャンネルで使える次世代Xamarin StudioではVS同様にUIで選択可能)

検索キーワードに「version:x.y.z」付加すると過去のバージョンをインストールできます。(単に「version:」だけ付加すると全てのバージョンが列挙されるようなのでこっちでもいい)

f:id:ticktack623:20160530213341j:plain

バージョン指定方法を忘れて迷走する人々

早くhotfixのhotfixが来るといいですね。