简单的玩儿了玩儿,发现挺不错,于是自己改造了一下,让它变成自己的东西,主要是为了加深自己的理解和方便以后对 Keychain 的快速投入使用。
实话实说,最近几天只要是有时间都会看一下关于 Keychain 的文章,最后结合了几篇文章再加上自己的理解总结一下。
关于说到使用 Keychain 实现多个App之间共享数据的说法,我的测试结果是这样的,如果项目中,没有添加 Keychain Sharing 的话,或者说添加了 Keychain Sharing ,但是没有添加分组,就像下图这样:
那么保存的数据就只在当前项目的私有空间内,存储的数据所在 group 的名称是当前项目加载的开发证书的teamID加上当前项目的bundleID,就像这样: AB0CD12EFG.com.abcdefg.KeyChainTestDemo 。下面是我用 SAMKeychain 改造之后存储的数据,可以简单看一下:
如果添加了 Keychain Sharing ,并且也添加了分组,像下图这样:
那么再次保存的数据将会被保存到新添加的这个分组中,之前添加的数据如果不删除会一直保留,虽然新分组的名称和默认的 group 的名称是一样的,但是性质确实不同的,因为只要添加了分组,其他App就可以通过这个组名来获取到当前App存储在这个分组中的所有数据,那么其他App是如果通过 group 名称获取数据的呢? 重点!只要是同一个开发者账号下的App,需要全部都设置 Keychain Sharing ,且 group 名称必须相同,就能实现数据共享 。在我测试当中,像下图这样:
无论我设置了多少个分组,存储数据和获取数据都只对第0个分组进行 *** 作,我也不知道为什么??所以我的结论是: Keychain Sharing 中,只有第0个分组有效。是不是很尴尬!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)