iOS中是否有一个Android共享首选项来保存凭据(用户名和密码)?
来自Android开发我使用SharedPreferences存储用户名和密码login到服务器使用OutputStreamWriter和HttpURLConnection 。 现在在iOS我使用NSMutableURLRequest发送用户名和密码。 iOS中有什么东西可以存储像iOS中的 SharedPreferences这样的用户名和密码吗? 请记住,这是敏感的数据,所以它需要安全。
就在这里。 用户名和密码应使用Apples Keychain保存.Keychain默认为encryption。 https://developer.apple.com/library/ios/documentation/Security/Conceptual/keychainServConcepts/iPhoneTasks/iPhoneTasks.html
另外,请参阅本教程,了解如何在iOS中使用Keychain。 http://maniacdev.com/2011/07/tutorial-how-to-use-the-ios-keychain-to-store-names-and-passwords
要保存其他用户首选项,请使用NSUserDefaults。
Android SharedPreferences的副本是IOS NSUserDefaults 。 在你的情况下,我build议你使用钥匙串,这保证你的数据
如果你正在转向IOS开发,我强烈build议使用cocoapods
使用它,我发现了一个框架,使与钥匙串SSKeychain轻松工作
NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults]; [defaults setObject:self.numbers forKey:@"userName"]; [defaults synchronize];
U可以使用NSUserDefault
在iOS中存储用户名密码,就像android SharedPreference
。 如果你想更安全的用户名密码encryption,然后存储它。
NSString *userName=[defaults ObjectforKey:@"userName"];
这将会改变价值。
在NsUserDefault
存储值将只能由您的应用程序访问,但不能在监狱ios设备的情况下
您不会将它们存储在共享首选项中,而是使用encryption的钥匙串
KeychainItemWrapper* keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"KeychainTest" accessGroup:nil]; [keychain setObject:(__bridge id)kSecAttrAccessibleWhenUnlocked forKey:(__bridge id)kSecAttrAccessible]; NSLog(@"%@, %@", [keychain objectForKey:(__bridge id)kSecAttrAccount], [keychain objectForKey:(__bridge id)kSecValueData]); [keychain setObject:@"example@email.com" forKey:(__bridge id)kSecAttrAccount]; [keychain setObject:@"MySuperSecretPassword" forKey:(__bridge id)kSecValueData]; NSLog(@"%@, %@", [keychain objectForKey:(__bridge id)kSecAttrAccount], [keychain objectForKey:(__bridge id)kSecValueData]);
http://b2cloud.com.au/how-to-guides/using-the-keychain-to-store-passwords-on-ios