XamarinとPCLとRealm

スポンサーリンク

「よーし、Xamarin.FormsでRealm使ってデータ保存しちゃうぞー」、って思ってたらいとも簡単にハマったので備忘録です。

※この情報2016年8月28日時点の情報です。

Realmの使い方については下記を参照してください。

Realm

また、Xamarin.FormsでPCLを利用していることが前提となります。

Realmの利用方法(英語)を読みながらNugetで取得して実装してみたのですがデータを保存するところでエラーになります。

何が起こっているのかよくわからなかったのですがRealmの利用方法をよく見てみると、どうやらPCLの場合はRealmを利用する全てのプロジェクトに対してNugetしないといけないみたいです。

つまりPCLのプロジェクトだけではなくAndroidやiOSもNuget対象にしないといけなかったのです。

2016-08-28 (5)

説明ページの真ん中からちょい上のほうにある説明書をよく読めということですね。

よく読んでみると「Bait and Switch Trick」という単語が出てきましたので翻訳してみたら「おとり商法」という意味らしいです。

この機能が実装されたためPCLとPCLを利用する全てのプロジェクトにインストールする必要があるみたいですね。

リンク先を読んでみたのですがよくわからなかったです・・・。

後日、もう少し深堀して読み込んでみたいと思います。

因みにリポジトリにNugetPackageを登録していない人向けに補足をします。

RealmをインストールするとFodyWeavers.xmlという設定情報ファイルが追加されます。

こいつは必ずコミットしてください、コミットしないとNugetを復元してもエラーで動かなくなり結局NugetでRealmをインストールし直すことになります。

RealmのインストールフォルダをPackagesから手動で削除する必要があったりとめんどくさいの要注意です。

コメント