酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Xamarin.iOSでXamarin.Authを使ってKeychainにパスワードを保存する

Xamarin.AuthをXamarin Components Storeからインストールする

Componentsフォルダを選択して、右側に設定ボタンをクリックするとコンテキストメニューが出てくるのでGet More Components...を選択します。

f:id:ch3cooh393:20141105210045p:plain

Xamarin Componentsのダイアログが表示されるので、右上の検索欄で「xamarin.auth」と入力します。Xamarin.Authが右側の検索結果に表示されます。

f:id:ch3cooh393:20141105210052p:plain

Add to Appボタンをクリックして、Xamarin.Authをインストールしておきます。

f:id:ch3cooh393:20141105210105p:plain

パスワードを保存する

// パスワードを Keychain に保存する
var prop = new Dictionary<string, string>();
prop["password"] = "password";
var account = new Xamarin.Auth.Account("userName", prop);

var store = Xamarin.Auth.AccountStore.Create();
store.Save(account, "serviceId");

Accountクラスでは、保存時に第2引数のpropというDictionaryをNSDataにシリアライズして保存しています。

パスワードを取り出す

var store = Xamarin.Auth.AccountStore.Create();
var account = store.FindAccountsForService("serviceId")
    .SingleOrDefault();

関連記事

Xamarin.iOSを使ってアプリ開発する際に逆引きとしてお使いください。