Xcode登录测试应用程序,包含用户名和密码

时间:2013-01-30 09:43:08

标签: objective-c xcode4.2

我为真实项目创建了一个虚拟应用程序,我在其中有登录页面。现在我有一些用户名和密码,当在文本区域输入并按下登录按钮时,应该带我到下一个视图。有没有办法存储这些用户名和密码?感谢

2 个答案:

答案 0 :(得分:0)

将它们存储在常量?

Constants.h

extern NSString *const TestUsername;
extern NSString *const TestPassword;

Constants.m

NSString *const TestUsername = @"TestUsername";
NSString *const TestPassword = @"TestPassword";

答案 1 :(得分:0)

转到此链接:iOS: How to store username/password within an app?

您应该始终使用Keychain来存储用户名和密码,并且由于它是安全存储的,并且只能由您的应用访问,因此无需在应用退出时将其删除(如果您担心这一点)。

Apple提供了存储,读取和删除钥匙串项目的示例代码,以及如何使用该示例中的钥匙串包装器类,这极大地简化了使用Keychain。

放入Security.framework(在Xcode 3中右键单击frameworks文件夹并添加现有框架。在Xcode 4中选择你的项目,然后选择target,转到Build Phases选项卡,然后点击Link Binary With Files下的+)和KeychainItemWrapper。 h& .m文件到您的项目中,#import您需要使用keychain的.h文件,然后创建该类的实例:

KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"YourAppLogin" accessGroup:nil];

(YourAppLogin可以是您选择调用钥匙串项目的任何内容,如果需要,您可以拥有多个项目)

然后您可以使用以下方式设置用户名和密码:

[keychainItem setObject:@"password you are saving" forKey:kSecValueData];
[keychainItem setObject:@"username you are saving" forKey:kSecAttrAccount];

让他们使用:

NSString *password = [keychainItem objectForKey:kSecValueData];
NSString *username = [keychainItem objectForKey:kSecAttrAccount];

或使用以下方法删除它们:

[keychainItem resetKeychainItem];