日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

介绍一个轻量级iOS安全框架:SSKeyChain

發(fā)布時(shí)間:2023/12/13 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 介绍一个轻量级iOS安全框架:SSKeyChain 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

  • 在工程中加入Security.framework框架。
  • 把SSKeychain.h和SSKeychain.m加到項(xiàng)目文件夾。
  • 使用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的幫助文檔需要以下步驟:

  • 打開菜單 Xcode -> Preferences
  • 選擇 Downloads
  • 選擇 Documentation
  • 點(diǎn)擊底部的加號(hào)按鈕,并輸入以下URL: http://docs.samsoff.es/com.samsoffes.sskeychain.atom
  • 點(diǎn)擊”SSKeyChain Documentation”旁邊的install按鈕。 (如果你看不到它,也沒(méi)有提示任何錯(cuò)誤,請(qǐng)重啟Xcode)
  • 確保在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)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。