Swiftでいい感じにKeychain使う
2014/11/30追記 このコードをプロジェクト内で使うだけではリリールビルド時(Swiftコンパイラの最適化オプションが有効な時)に動きません、KeyClipを使いましょう。
ググって出てきたサンプルをベースにいくらかアレンジしています。
Keychainの仕組み自体は Cocoaの日々: [iOS] Keychain Services とは で解説されている情報を参考にしました。
利用
普通はパスワードやアクセストークン単体を保存するのに使いますが、Justaway for iOSではTwitterアカウントのアクセストークン含むアカウント情報をJSONでシリアライズして保存します。
AccountService クラスなど作り、そこから KeychainService を使うという形式が良いと思います。
実装
これらを参考にしました。
補足
kSecAttrService 及び kSecAttrAccessGroup は省略可能
省略出来る指定は省略しています、kSecAttrAccessGroup を指定する場合はプロビジョニングファイルで定義される App Identifier と前方一致しないとエラーになるので気をつけましょう