2014-01-29 20 views
0

我想在iOS中的鑰匙串中添加一些數據。我並不擔心安全性,只是希望將某些字符串永久地存儲在某處(Keychain),即使用戶卸載了應用程序,也可以保持一致。我沒有存儲任何密碼,Web上的所有示例僅顯示如何存儲密碼。我打算使用kSecClassKey屬性來存儲字符串。請指導我正確的方向。任何示例代碼都會非常有幫助。如何在iOS中的鑰匙串中添加任何NSString數據

+0

你有沒有考慮使用替代NSUserDefaults的? – FreeNickname

+1

如果用戶卸載應用程序,NSUserDefaults將不在那裏,因此不能使用NSUserDefaults。 – vikas

+0

iCloud密鑰/值存儲是另一種可能的解決方案。不難使用,但可能有一些用戶沒有使用iCloud。除密碼之外,還有鑰匙串存儲類別請參閱文檔(分配大量時間)。 – zaph

回答

1

我已經使用SFHF鑰匙串庫(https://github.com/kamiro/SFHFKeychainUtils)。它使用起來非常簡單,並且工作正常。

下面的例子使用

NSString* username = @"myValue1"; 
NSString* service = @"com.organization.appname.myValue1"; 
NSString* valueToStore = @"...."; 

// Add/Update valute to keychain 
NSError* anyStoringError = NULL; 
BOOL stored = [SFHFKeychainUtils storeUsername:username andPassword:valueToStore forServiceName:service updateExisting:YES error:&anyStoringError]; 

// Get value from keychain 
NSString *storedValue = [SFHFKeychainUtils getPasswordForUsername:username andServiceName:service error:&anyStoringError]; 

// Remove value from keychain 
BOOL valueRemoved = [SFHFKeychainUtils deleteItemForUsername:username andServiceName:service error:&anyStoringError]; 

希望它可以幫助

相關問題