iOS Keychain 跨应用

Keychain 可以用来持久保存一些信息。通常每个应用都有自己的 Keychain Access。但有时你会需要多个应用共用一些信息。这时需要创建 Keychain Access Group。

Keychain Access Group 需要在 entitlements 文件里创建。值默认是 AppIdentifierPrefix+项目 id。前者是 AppId 的前缀,对于每个开发者,这个是唯一的。我们把项目 id 改为一个新起的组名。最后它的样子应该是这样:$(AppIdentifierPrefix)newGroupName 。然后在每个应用 Keychain Access Group 都这样设置,这样他们就属于同一个组,就可以共享 Keychain 了。

代码中,如果想保存 string,就用 setString forKey service 方法。相反,取出 string 就用 stringForKey service 方法。注意 service 很重要。如果不设定 service 的值是无法共享的。

时间: 2024-10-14 17:45:37

iOS Keychain 跨应用的相关文章

如何使用iOS Keychain存储用户重要信息

iOS的keychain服务提供了一种安全的保存私密信息(密码,序列号,证书等)的方式,每个ios程序都有一个独立的keychain存储.相对于NSUserDefaults.文件保存等一般方式,keychain保存更为安全,而且keychain里保存的信息不会因App被删除而丢失,所以在重装App后,keychain里的数据还能使用.从ios 3.0开始,跨程序分享keychain变得可行. 如何需要在应用里使用使用keyChain,我们需要导入Security.framework ,keych

iOS keyChain

一.Keychain 基础 1.iOS设备中的Keychain是一个安全的存储容器,可以用来为不同应用保存敏感信息比如用户名,密码,密钥等.苹果自己用keychain来保存Wi-Fi网络密码,VPN凭证等等. 2.Keychain的信息是存在于每个应用的沙盒之外,卸载应用并不会把存在Keychain里的信息删除. 3.它是一个sqlite数据库,位于/private/var/Keychains/keychain-2.db,其保存的所有数据都是加密过的. 4.Secltem有五类:通用密码,互联网

IOS开发-跨域访问DWR方法

用Phonegap做手机客户端,服务器用spring+DWR,需要在手机端访问服务器的方法,需要做以下配置,可以参见http://www.iteye.com/topic/337460: 服务器DWR配置(web.xml): <init-param> <param-name>allowGetForSafariButMakeForgeryEasier</param-name> <param-value>true</param-value> </

[iOS Keychain本地长期键值存储]

目前本地存储方式大致有:Sqlite,Coredata,NSUserdefaults.但他们都是在删除APP后就会被删除,如果长期使用存储,可以使用Keychain钥匙串来实现. CHKeychain.h #import <Foundation/Foundation.h> @interface CHKeychain : NSObject + (void)save:(NSString *)service data:(id)data; + (id)load:(NSString *)service;

iOS keychain存储

简单的翻译下,keychain可以存储密码.证书等等,至于有什么好处,呵呵哒,自己百度去吧,总结一点就是更安全,而且取的更方便吧,看app场景吧. 本次代码,分为两段,一段为保存代码 1 - (BOOL)saveData:(NSString *)str 2 { 3 OSStatus status = noErr; 4 NSMutableDictionary *query = [[NSMutableDictionary alloc] init]; 5 [query setObject:(id)kS

IOS KeyChain理解及代码事例

对KeyChain的理解,可参照http://my.oschina.net/w11h22j33/blog/206713 文中利用KeyChain保存用户名和密码,用户名放在属性中,密码放在密码项中:其中对KeyChain项的增删改查,我个人觉得是有问题的,为了方面自己代码上的使用,也帮助阅读该文的其他读者更好的理解,我修正了代码如下: //存储/增加 -(IBAction)saveClicked:(id)sender{ if(_nameTF.text.length > 0 && _p

iOS keychain报错 25293

经过查找发现25293对应的错误是如下,即用户名和密码不正确. errSecAuthFailed                         = -25293,    /* The user name or passphrase you entered is not correct. */ 后来才发现原来是因为测试机没有设置touchId所致,设置好touchId之后完美生成密钥对.

[转] ios中KeyChain用途

转自  http://www.2cto.com/kf/201311/255684.html 一.在应用间利用KeyChain共享数据 我们可以把KeyChain理解为一个Dictionary,所有数据都以key-value的形式存储,可以对这个Dictionary进行add. update.get.delete这四个操作.对于每一个应用来说,KeyChain都有两个访问区,私有区和公共区.私有区是一个sandbox,本 程序存储的任何数据都对其他程序不可见.而要想在将存储的内容放在公共区,需要先

ios中KeyChain用途

一.在应用间利用KeyChain共享数据 我们可以把KeyChain理解为一个Dictionary,所有数据都以key-value的形式存储,可以对这个Dictionary进行add.update.get.delete这四个操作.对于每一个应用来说,KeyChain都有两个访问区,私有区和公共区.私有区是一个sandbox,本程序存储的任何数据都对其他程序不可见.而要想在将存储的内容放在公共区,需要先声明公共区的名称,官方文档管这个名称叫“keychain access group”,声明的方法