介紹一個(gè)輕量級(jí)iOS安全框架:SSKeyChain

SSKeyChains對(duì)蘋果安全框架API進(jìn)行了簡(jiǎn)單封裝,支持對(duì)存儲(chǔ)在鑰匙串中密碼衷畦、賬戶進(jìn)行訪問,包括讀取知牌、刪除和設(shè)置祈争。SSKeyChain的作者是大名鼎鼎的SSToolkit的作者samsoffes。

項(xiàng)目地址:https://github.com/samsoffes/sskeychain

在工程中加入SSKeyChain

在工程中加入Security.framework框架角寸。

把SSKeychain.h和SSKeychain.m加到項(xiàng)目文件夾扁藕。

使用SSKeyChain

通過以下類方法來使用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的幫助文檔需要以下步驟:

打開菜單 Xcode -> Preferences

選擇 Downloads

選擇 Documentation

點(diǎn)擊底部的加號(hào)按鈕,并輸入以下URL: http://docs.samsoff.es/com.samsoffes.sskeychain.atom

點(diǎn)擊”SSKeyChain Documentation”旁邊的install按鈕望薄。 (如果你看不到它疟游,也沒有提示任何錯(cuò)誤,請(qǐng)重啟Xcode)

確保在Organizer中可選的docset中能夠看到SSKeychain痕支。

此外颁虐,可以在線查看SSKeychain Documentation卧须。

調(diào)試

如果無法保存鑰匙串另绩,請(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)該很熟悉了笋籽。訪問鑰匙串是件痛苦的事情,你要隨時(shí)檢查它的每個(gè)錯(cuò)誤和失敗察绷。SSKeychain并沒有使它(鑰匙串)變得更穩(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)該是一致的容劳。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市闸度,隨后出現(xiàn)的幾起案子竭贩,更是在濱河造成了極大的恐慌,老刑警劉巖莺禁,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件留量,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)楼熄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門忆绰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人可岂,你說我怎么就攤上這事错敢。” “怎么了缕粹?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵稚茅,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我平斩,道長(zhǎng)亚享,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任绘面,我火速辦了婚禮欺税,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘飒货。我一直安慰自己魄衅,他們只是感情好峭竣,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布塘辅。 她就那樣靜靜地躺著,像睡著了一般皆撩。 火紅的嫁衣襯著肌膚如雪扣墩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天扛吞,我揣著相機(jī)與錄音呻惕,去河邊找鬼。 笑死滥比,一個(gè)胖子當(dāng)著我的面吹牛亚脆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盲泛,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼濒持,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了寺滚?” 一聲冷哼從身側(cè)響起柑营,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎村视,沒想到半個(gè)月后官套,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年奶赔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了惋嚎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡站刑,死狀恐怖瘸彤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情笛钝,我是刑警寧澤质况,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站玻靡,受9級(jí)特大地震影響结榄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜囤捻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一臼朗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蝎土,春花似錦视哑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至暴构,卻和暖如春跪呈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背取逾。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工耗绿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人砾隅。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓误阻,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親晴埂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子究反,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容