Удалить брелок пользователя iOS - PullRequest
0 голосов
/ 19 февраля 2012

Ну,

В моем приложении есть панель вкладок, и одна из ее кнопок - "настройка".В этом представлении у меня есть только кнопка «забыть», которая отвечает за «удаление» цепочки для ключей пользователя.Пользователь может сохранить связку ключей в первом представлении (ModalView) приложения, вызываемого в AppDelagate.Итак, я сомневаюсь, как я могу удалить эту цепочку для ключей в другом классе?Я создал ConfigurationViewController в AppDelagate и инициировал цепочку ключей, но она не работает.

AppDelegate:

ConfigurationViewController *_cvc = [[[ConfigurationViewController alloc] initWithNibName:@"ConfigurationViewController" bundle:[NSBundle mainBundle]] autorelease];

self.cvc = _cvc;

cvc.keychain = self.keychain;

[cvc release];

ConfigurationViewController.h:

#import <UIKit/UIKit.h>
#import "InformationViewController.h"
#import "KeychainItemWrapper.h"

@interface ConfigurationViewController : UIViewController {
  KeychainItemWrapper *keychain;
}

@property (nonatomic, retain) KeychainItemWrapper *keychain;

@ end

ConfigurationViewController.m:

- (IBAction)forget:(id)sender
{
   // Erase all information saved in KeyChain
   [ keychain resetKeychainItem ];

   // Pass the selected object to the new view controller.
   [ self.tabBarController setSelectedIndex:0 ];
}

Я не знаю, нужно ли только для сброса цепочки для ключей ...

РЕДАКТИРОВАТЬ 1:

Вкл. AppDelegate.m Я проверяю, есть ли информация о keyChain.

if ( hasInformation ) {
...
} else {
   // open a presentModalViewController with a form to fill with login information
   [ rootTabBarController presentModalViewController:lvc animated:NO ];
}

Вкл. LoginViewController.m :

if ( allFormIsOkay ) {

    // store username
    if ( [login text] )
      [ keychain setObject:[login text] forKey:(id)kSecAttrAccount ];

    // Store password
    if ( [password text] )
      [ keychain setObject:[password text] forKey:(id)kSecValueData ];
} else {
    [ keychain resetKeychainItem ];
}
[ self dismissModalViewControllerAnimated:YES ];

И я пытаюсь «стереть» связку ключей на ConfigurationViewController (я уже показал).

...