介绍一个轻量级iOS安全框架:SSKeyChain
SSKeyChains對(duì)蘋果安全框架API進(jìn)行了簡(jiǎn)單封裝,支持對(duì)存儲(chǔ)在鑰匙串中密碼、賬戶進(jìn)行訪問(wèn),包括讀取、刪除和設(shè)置。SSKeyChain的作者是大名鼎鼎的SSToolkit的作者samsoffes。
項(xiàng)目地址:https://github.com/samsoffes/sskeychain
在工程中加入SSKeyChain
使用SSKeyChain
通過(guò)以下類方法來(lái)使用SSKeyChain(請(qǐng)查看SSKeyChain.h):
+ (NSArray *)allAccounts;
+ (NSArray *)accountsForService:(NSString *)serviceName;
+ (NSString *)passwordForService:(NSString *)serviceNameaccount:(NSString *)account;
+ (BOOL)deletePasswordForService:(NSString *)serviceNameaccount:(NSString *)account;
+ (BOOL)setPassword:(NSString *)password forService:(NSString*)serviceName account:(NSString *)account;
?
文檔
在Xcode中安裝SSKeyChain的幫助文檔需要以下步驟:
確保在Organizer中可選的docset中能夠看到SSKeychain。
此外,可以在線查看SSKeychain Documentation。
調(diào)試
如果無(wú)法保存鑰匙串,請(qǐng)使用SSKeychain.h中提供的錯(cuò)誤代碼,例如:
NSError *error = nil;
NSString *password = [SSKeychainpasswordForService:@"MyService" account:@"samsoffes"error:&error];?
if ([error code] == SSKeychainErrorNotFound) {
?????NSLog(@"Passwordnot found");
}
顯然,你對(duì)做這個(gè)應(yīng)該很熟悉了。訪問(wèn)鑰匙串是件痛苦的事情,你要隨時(shí)檢查它的每個(gè)錯(cuò)誤和失敗。SSKeychain并沒(méi)有使它(鑰匙串)變得更穩(wěn)定,它僅僅是繁瑣的C APIs封裝。
示例代碼
保存一個(gè)UUID字符串到鑰匙串:
CFUUIDRef uuid = CFUUIDCreate(NULL); assert(uuid != NULL); CFStringRef uuidStr = CFUUIDCreateString(NULL, uuid);?
[SSKeychain setPassword: [NSString stringWithFormat:@"%@", uuidStr]?forService:@"com.yourapp.yourcompany"account:@"user"];
?
然后,從鑰匙串讀取UUID:
NSString *retrieveuuid = [SSKeychainpasswordForService:@"com.yourapp.yourcompany"account:@"user"];
?
注意: setPassword和passwordForSevice方法中的services 和 accounts 參數(shù)應(yīng)該是一致的。
轉(zhuǎn)載于:https://www.cnblogs.com/qyfeng009/p/5315964.html
總結(jié)
以上是生活随笔為你收集整理的介绍一个轻量级iOS安全框架:SSKeyChain的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 3D坦克大战游戏源码
- 下一篇: UIKit框架各个类的简介