同账号下共享Keychain 可以用来共享账号密码,也可以用来共享信息,可以方便追踪数据,也方便用户便捷使用应用。
实现共享Keychain需要按以下步骤:

1、首先在工程中Signing&Capabilities选项中,点击左上角+号 增加 Keychain Sharing,增加后,展开Keychain Sharing,命名一个Keychain Group,
类似 com.xxxxx.uniqueid
同时工程中增加宏定义

#define xxxKeychainSharingGroup @"xxxxx(团队ID).com.xxxxx.uniqueid"

2、增加KeychainItemWrapper类到工程中,并为文件在Build Phases中增加
Compiler Flags = -fno-objc-arc
3、KeychainItemWrapper 的使用

// Designated initializer.
- (id)initWithIdentifier: (NSString *)identifier accessGroup:(NSString *) accessGroup;
- (void)setObject:(id)inObject forKey:(id)key;
- (id)objectForKey:(id)key;

// Initializes and resets the default generic keychain item data.
- (void)resetKeychainItem;

定义一个identifier 来标记Keychain 并将之前定义的xxxKeychainSharingGroup传入accessGroup来初始化

然后就可以按照字典读取的方式,写入读取Keychain了

//初始化
KeychainItemWrapper *wrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@”Password” accessGroup:xxxKeychainSharingGroup];
//存储
[wrapper setObject:@{@"password":@"xxxxx"}forKey:(__bridge id)kSecValueData];
//读取
[wrapper objectForKey:(__bridge id)kSecValueData];

按照同样的方法再另外一个app上注册,就可以共享Keychain了


走在大道满是花香
3 声望0 粉丝

别看,看就是来混个鼠标垫的