我应该如何为Mac App存储两个字符串?

时间:2012-05-23 11:44:51

标签: objective-c macos

我正在创建一个Web应用程序,它需要存储用户的Web服务的电子邮件和密码,然后连接到该服务。而不是他们每次都必须输入,我希望它在应用关闭时保存。

我该怎么做?我是否只需要将核心数据或SQLite用于两个字符串,或者是否有另一种更好的方法来执行此操作?

感谢。

2 个答案:

答案 0 :(得分:2)

不要将密码存储为纯文本。 即使它应该是“不重要”和“不安全”。如果可能,请考虑不要存储它(例如,存储哈希,或者在第一次授权时从Web服务获取cookie)。在这种情况下,NSUserDefaults将是存储此类数据的标准且简单的方法。

如果您必须存储密码,系统密钥链就是安全的地方。查找SecKeychainAddGenericPassword API函数,它会引导您Keychain Services Guide和示例。

答案 1 :(得分:0)

创建一个nsobject Global类----

Global.h

#import <Foundation/Foundation.h>
@interface Global : NSObject 
extern NSString *gStrEmail;
extern NSString *gStrPassword;

@end

Global.m

#import "Global.h"

@implementation Global
NSString *gStrEmail=@"";
NSString *gStrPassword=@"";
@end

将此课程导入到    App_Prefix.pch

 #import "Global.h"

loginViewController.m

 gStrEmail=txtEmail.text;
 gStrPassword==txtEmail.text;

并随处使用电子邮件和密码字符串