ノートをEvernoteにバックアップおよび復元するアプリケーションがあります。正常に動作していますが、別のユーザー名とパスワードの組み合わせでログアウトおよびログインし直すときに問題が発生します。
初めてメモをユーザー名/パスワードの初期値と共有すると、正しく機能します。ただし、別のユーザー名/パスワードでログアウトして再度ログインすると、メモが元のアカウントに投稿されます。
ユーザー名/パスワードを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"];
私のコードに問題があれば..これを行うのを手伝ってください。