我有一个应用程序可以将笔记备份和恢复到 Evernote。一切运行良好,但在注销并以不同的用户名和密码组合重新登录时遇到问题。
我第一次与用户名/密码的初始值共享我的笔记时,它可以正常工作。但是,使用不同的用户名/密码注销并重新登录会将我的笔记发布到原始帐户。
我有一个 Singleton 类,它将用户名/密码写入 NSUserDefaults 和 SFHFKeychainUtils。下面是登录方法:
NSError *error = nil;
NSString *unameever = _txtevernoteUsername.text;
NSString *pwdever = _txtevernotepasswrd.text;
[[NSUserDefaults standardUserDefaults] setObject:unameever forKey:@"usernameevernote"];
[[NSUserDefaults standardUserDefaults]synchronize];
[[NSUserDefaults standardUserDefaults] setObject:pwdever forKey:@"passwrdevernote"];
[[NSUserDefaults standardUserDefaults]synchronize];
BOOL flag = [SFHFKeychainUtils storeUsername:unameever andPassword:pwdever forServiceName:@"mybibleappever" updateExisting:TRUE error:&error];
这是发送用户名/密码的连接方法:
- (void) connect {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
//Checks if there is a saved User Name
if([defaults objectForKey:@"usernameevernote"]&&[defaults objectForKey:@"passwrdevernote"])
{
NSString *usernameever = [defaults objectForKey:@"usernameevernote"];
NSString *passwever = [defaults objectForKey:@"passwrdevernote"];
// Returned result from the Evernote servers after authentication
EDAMAuthenticationResult* authResult =[userStore authenticate:usernameever :passwever : consumerKey :consumerSecret];
这是注销方法:
NSError *error = nil;
NSString *usernameever = [[NSUserDefaults standardUserDefaults] objectForKey:@"usernameevernote"];
BOOL flag = [SFHFKeychainUtils deleteItemForUsername:usernameever andServiceName:@"mybibleappever" error:&error];
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"usernameevernote"];
我的代码有任何问题..请帮我这样做。