iOS keychain sharing 詳細(xì)步驟

要在兩個app間共享keychain夷磕。以下是步驟:

1:添加Security.framework,詳細(xì)步驟如下圖


添加Security.framework

2:打開Keychain Sharing仔沿。 在xcode中坐桩,點擊項目TARGETS->Capabilities下拉找到Keychain Sharing選項,然后打開封锉,xcode會自動添加一個項目绵跷,如下圖,

說明一下:打開按鈕的時候成福,xcode會自動添加上當(dāng)前app的一個group值碾局,這個groupName就是要keychain要保存時候用到的groupName,可以有多個groupName;


打開KeyChain Sharing

3:然后就是寫代碼了奴艾。我用的是UICKeyChainStore庫净当,

下載地址在這里: https://github.com/kishikawakatsumi/UICKeyChainStore

保存的地方,#import "UICKeyChainStore.h"

然后蕴潦,下面是一些工具函數(shù)

/*

@description生成通用的keychain ServiceName

@return str生成后的服務(wù)名

*/

+ (NSString*)keychainServiceName {

NSString*identifier = [[NSBundlemainBundle]bundleIdentifier];

returnidentifier;

}

/*

@description生成統(tǒng)一的keychain組名

@return str生成后的組名

*/

+ (NSString*)keychainGroupName {

NSString*bundleSeedID = [selfbundleSeedID];

NSString*groupName = [bundleSeedIDstringByAppendingString:@"."];

groupName = [groupNamestringByAppendingString:[selfkeychainServiceName]];

returngroupName;

}


/*

@description:獲取bundleSeedID

@return獲取到的bundleSeedID

*/

+ (NSString*)bundleSeedID {

NSDictionary*query = [NSDictionarydictionaryWithObjectsAndKeys:

kSecClassGenericPassword,kSecClass,

@"bundleSeedID",kSecAttrAccount,

@"",kSecAttrService,

(id)kCFBooleanTrue,kSecReturnAttributes,

nil];

CFDictionaryRefresult =nil;

OSStatusstatus =SecItemCopyMatching((CFDictionaryRef)query, (CFTypeRef*)&result);

if(status ==errSecItemNotFound)

status =SecItemAdd((CFDictionaryRef)query, (CFTypeRef*)&result);

if(status !=errSecSuccess)

returnnil;

NSString*accessGroup = [(__bridgeNSDictionary*)resultobjectForKey:kSecAttrAccessGroup];

NSArray*components = [accessGroupcomponentsSeparatedByString:@"."];

NSString*bundleSeedID = [[componentsobjectEnumerator]nextObject];

CFRelease(result);

returnbundleSeedID;

}

上面的函數(shù)像啼,用戶生成通用的的groupName ,serviceName,這些都是在初始化keyChain對象的時候用到的潭苞。

注意忽冻,其中生成groupName的函數(shù),groupName的格式必須是bundleSeed后面接".",再接上面步驟2中此疹,keychain sharing列表生成的某一個groupName僧诚。

然后在隨便起一個key?

#define groupKey @"lallalallalal"

保存的代碼:

UICKeyChainStore*keychain = [UICKeyChainStorekeyChainStoreWithService:[selfkeychainServiceName]accessGroup:[selfkeychainGroupName]];

[keychain setString:stringToSave forKey:groupKey];

提取代碼

UICKeyChainStore*keychain = [UICKeyChainStorekeyChainStoreWithService:[selfkeychainServiceName]accessGroup:[selfkeychainGroupName]];

NSString *stringSaved = [keychain stringForKey:groupKey];

刪除代碼:

UICKeyChainStore*keychain = [UICKeyChainStorekeyChainStoreWithService:[selfkeychainServiceName]accessGroup:[selfkeychainGroupName]];

[keychainremoveItemForKey:groupKey];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末遮婶,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子湖笨,更是在濱河造成了極大的恐慌旗扑,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赶么,死亡現(xiàn)場離奇詭異肩豁,居然都是意外死亡,警方通過查閱死者的電腦和手機辫呻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門清钥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人放闺,你說我怎么就攤上這事祟昭。” “怎么了怖侦?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵篡悟,是天一觀的道長。 經(jīng)常有香客問我匾寝,道長搬葬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任艳悔,我火速辦了婚禮急凰,結(jié)果婚禮上邓梅,老公的妹妹穿的比我還像新娘乍炉。我一直安慰自己,他們只是感情好瞬测,可當(dāng)我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布乔外。 她就那樣靜靜地躺著床三,像睡著了一般。 火紅的嫁衣襯著肌膚如雪杨幼。 梳的紋絲不亂的頭發(fā)上撇簿,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天,我揣著相機與錄音差购,去河邊找鬼补疑。 笑死,一個胖子當(dāng)著我的面吹牛歹撒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播诊胞,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼暖夭,長吁一口氣:“原來是場噩夢啊……” “哼锹杈!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起迈着,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤竭望,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后裕菠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體咬清,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年奴潘,在試婚紗的時候發(fā)現(xiàn)自己被綠了旧烧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡画髓,死狀恐怖掘剪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情奈虾,我是刑警寧澤夺谁,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站肉微,受9級特大地震影響匾鸥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜碉纳,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一勿负、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧村象,春花似錦笆环、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至库菲,卻和暖如春账忘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背熙宇。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工鳖擒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人烫止。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓蒋荚,卻偏偏與公主長得像,于是被迫代替她去往敵國和親馆蠕。 傳聞我的和親對象是個殘疾皇子期升,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,614評論 2 353

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