LUKeychainAccessの使い方【swift】:データを永続的に保存

データの永続化

アプリを開発していると、アプリ内に記憶しておいてほしいデータが出てきます。基本的にNSUserDefaultsで実装している人が多いのですが、NSUserDefaultsはセキュリティが甘いのと、アプリを消したらデータは消えてしまうという特徴があります。その時に困ってしまうのが、会員登録制のアプリです。会員情報は個人情報であるため、気軽に保存してあるのは少し不安です。また、アプリを消しても残っていれば、その会員情報で他サービスでの展開も考えられますね。そんな時に使うのがLUKeychainAccessです。LUKeychainAccessでは、データを暗号化して保存するのでセキュリティ面でも安心できます。

[bm url="https://github.com/TheLevelUp/LUKeychainAccess"]GitHub - TheLevelUp/LUKeychainAccess[/bm]

LUKeychainAccessの使い方

いつもどおりgithubからソースをダウンロードしましょう。
[bm url="https://github.com/TheLevelUp/LUKeychainAccess"]GitHub - TheLevelUp/LUKeychainAccess[/bm]

基本的な使い方はNSUserDefaultsと同じなので難しいことはないでしょう。

データの保存

データの保存

               let keychainAccess = LUKeychainAccess.standardKeychainAccess();
                
                // Bool
                keychainAccess.setBool(true, forKey: "boolKey")
                
                // Date
                keychainAccess.setData(NSData(), forKey: "dataKey")
                
                // Double
                keychainAccess.setDouble(1.0, forKey: "doubleKey")
                
                // Float
                keychainAccess.setFloat(1.0, forKey: "floatKey")
                
                // Integer
                keychainAccess.setInteger(1, forKey: "integerKey")
                
                // String
                keychainAccess.setString("value", forKey: "stringKey")
                
                // AnyObject
                keychainAccess.setObject("object", forKey: "objectKey")

データの取得

データの取得

       let keychainAccess = LUKeychainAccess.standardKeychainAccess()
        
        // bool
        keychainAccess.boolForKey("boolKey")
        
        // data
        keychainAccess.dataForKey("dataKey")
        
        // double
        keychainAccess.doubleForKey("doubleKey")
        
        // float
        keychainAccess.floatForKey("floatKey")
        
        // integer
        keychainAccess.integerForKey("integerKey")
        
        // string
        keychainAccess.stringForKey("stringKey")
        
        // object
        keychainAccess.objectForKey("objectKey")

データの削除

LUKeychainAccess.standardKeychainAccess().deleteAll()




おすすめの記事