iOS:在设备上永久存储身份验证数据

pau*_*155 3 wcf login ios

我是.Net开发人员,也是Xcode的新手.我正在使用WCF进行服务器端进程,并在iphone app和WCF之间发送/接收JSON数据.我希望下面的原生iPhone应用程序:

  1. 注册和登录视图
  2. 用户单击登录按钮后,会将以JSON格式输入的用户名和密码发送到我的WCF服务进行身份验证,如果登录有效,WCF将返回有效的成员GUID和令牌字符串
  3. iPhone应用程序接收成员guid和令牌,并将它们存储在"持久变量"中,我将为经过身份验证的用户加载新视图.因此,成员可以访问所有功能/视图.
  4. 每次我在iphone app和WCF之间发布数据时,我都需要使用变量中的成员guid和令牌,以便WCF服务知道哪个成员正在请求数据.
  5. 每次用户关机或重启iphone时,我希望我的应用程序能记住会员guid,这样他们就不必再次登录了.
  6. 用户可以单击注销按钮,它将清除变量并返回登录视图.

我不确定这是否是iphone app登录过程的正确方法?

我已经完成了WCF身份验证并发送回JSON,但现在我需要存储成员GUID,有人可以指出我正确的方向吗?我应该使用什么来存储以后可以使用的信息?一个例子会很棒!

Wol*_*ink 5

对于NSUserDefaults来说,这听起来很完美.像这样使用它们:

NSUserDefaults *myUserDefaults = [NSUserDefaults standardUserDefaults];
[myUserDefaults setObject: @"the key" forKey: @"key"];
Run Code Online (Sandbox Code Playgroud)

您还可以使用其他功能来设置不同类型的数据,例如setInteger:forKey:setValue:forKey:.要调用您的数据,请使用此功能:

NSString *theKey = [myUserDefaults objectForKey:@"key"];
Run Code Online (Sandbox Code Playgroud)

返回值将是您存储在其中的对象.其他数据类型的功能类似于integerForKey:valueForKey:.