![](/img/trans.png)
[英]Avoid other apps using the same framework to access the keychain data in iOS
[英]How to load a other ios apps in keychain data?
目前,我在iOS Apps中創建了兩個應用程序。
這是我的源代碼。
* TestProject源代碼* ->寫入鑰匙串
KeychainItemWrapper *idKeyChain = [[KeychainItemWrapper alloc] initWithIdentifier:@"TestProject" accessGroup:@"TestProject.com.test"];
[idKeyChain.keychainItemData setObject:@"testValue" forKey:(id)kSecValueData];
[idKeyChain release];
TestKeyChain源代碼 ->加載到鑰匙串
KeychainItemWrapper *idKeyChain = [[KeychainItemWrapper alloc] initWithIdentifier:@"TestProject" accessGroup:@"TestProject.com.test"];
NSString *username = [idKeyChain objectForKey:kSecAttrAccount];
[idKeyChain release];
NSLog(@"password : %@", username);
我猜要打印屏幕什么用戶名值。 <password : testValue>
但是Log的打印。。 <password : >
目前,我只浪費了三個小時就解決了這個問題。
您的設置代碼應如下所示:
keychainItemWrapper = [[KeychainItemWrapper alloc] initWithIdentifier:KEYCHAIN_ID accessGroup:nil];
[keychainItemWrapper setObject:username forKey:kSecAttrAccount];
[keychainItemWrapper setObject:password forKey:kSecValueData];
您的獲取代碼應如下所示:
keychainItemWrapper = [[KeychainItemWrapper alloc] initWithIdentifier:KEYCHAIN_ID accessGroup:nil];
NSString *username = [keychainItemWrapper objectForKey:kSecAttrAccount];
NSString *password = [keychainItemWrapper objectForKey:kSecValueData];
如果要根據Apple文檔在應用程序之間共享鑰匙串數據,請添加適當的訪問組字符串。
祝好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.