iOS中是否有一个Android共享首选项来保存凭据(用户名和密码)?

来自Android开发我使用SharedPreferences存储用户名和密码login到服务器使用OutputStreamWriterHttpURLConnection 。 现在在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]); 

https://developer.apple.com/library/ios/samplecode/GenericKeychain/Introduction/Intro.html(KeychainItemWrapper需要-fno-objc-arc,因为它不是为ARC构build的)

http://b2cloud.com.au/how-to-guides/using-the-keychain-to-store-passwords-on-ios