2015-12-31 10 views
0

Имея немного проблемы с использованием keychain для хранения информации для входа в мое приложение. Он отлично работает и отображает информацию, когда я вхожу в другие приложения, но когда я полностью закрываю приложение и пытаюсь его снова открыть, и нажмите, чтобы вернуть данные входа в систему, с которыми столкнулось приложение. Я приложу код, а также журнал ошибок. Я понимаю, что использование этой версии брелка не выполняется большинством людей из моих читающих онлайн-пользователей, похоже, используют альтернативные скрипты для ключей, но, надеюсь, кто-то столкнулся с этой проблемой. У меня есть 3 кнопки и 2 текстовые поля для ее проверки. Одно текстовое поле для имени пользователя, одно для пароля, затем у меня есть кнопка для входа, в которой сохраняется информация, кнопка для просмотра информации, а затем кнопка выхода.iOS брелок при получении информации

Спасибо.

31 декабря 1:58:13 Кертис-iPhone uDropOff 3 [18034]: - [__ NSCFData rangeOfCharacterFromSet]: непризнанные селектор направлен например 0x147ed0338 31 декабря 1:58:13 Кертис-iPhone uDropOff 3 [ 18034]: * Нагрузочное приложение из-за неперехваченное исключение 'NSInvalidArgumentException', причина: '- [__ NSCFData rangeOfCharacterFromSet]: непризнанный селектор направил к экземпляру 0x147ed0338' * Первого стека бросить вызов: (0x180eed900 0x18055bf80 0x180ef461c 0x180ef15b8 0x180df568c 0x186529988 0x185c206f4 0x1000c0194 0x185c17e50 0x185c17dcc 0x185bffa88 0x185c176e4 0x185c17314 0x185c0fe30 0x185be04cc 0x185bde794 0x180ea4efc 0x180ea4990 0x180ea2690 0x180dd1680 0x1822e0088 0x185c48d90 0x1000c4980 0x1809728b8) 31 декабря 1:58:13 Curtis-iPhone SpringBoard [15499]: HW KBD: Не удалось установить (нуль) в качестве клавиатуры фокусе 31 декабря 1:58 : 13 Curtis-iPhone com.apple.xpc.launchd [1] (UIKitApplication: uDropOff.uDropOff-3 [0x44ca] [18034]): Служба вышла из-за сигнала: Abort trap: 6 Dec 31 01:58:13 Curtis-iPhone diagnosticd [15528]: не удалось найти смещение 0x809679a4 в общей кэш-памяти для арочного 'arm64' 31 декабря 1:58:13 Curtis-iPhone ReportCrash [18035]: platform_thread_get_unique_id соответствует 6392471 31 декабря 1:58:13 Curtis-iPhone ReportCrash [18035]: Формулирующий отчет для corpse [18034] uDropOff 3 Dec 31 01:58:13 Curtis-iPhone ReportCrash [18035]: сохраненный тип '109_uDropOff 3' отчет (5 из max 25) as/var/mobile/Library/Logs/CrashReporter/uDropOff 3_2015-12-31-015813_Curtis-iPhone.ips 31 декабря 01:58:13 Curtis-iPhone SpringBoard [15499]: Приложение 'UIKitApplication: uDropOff.uDropOff-3 [0x44ca] 'разбился. Dec 31 01:58:13 Curtis-iPhone UserEventAgent [15467]: 20372720635010: id = uDropOff.uDropOff-3 pid = 18034, state = 0 31 декабря 01:58:23 Curtis-iPhone locationd [15505]: Местоположение значок должен теперь будет в состоянии «Неактивный»

- (void)viewDidLoad 
{ 

    [super viewDidLoad]; 

    keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"uDropOffLoginData" accessGroup:nil]; 

} 
- (IBAction)viewkeychain { 
    if ([[keychain objectForKey:(id)kSecAttrAccount] isEqual: @""]) 
    { 
     self.username.text = @"nousername"; 
     self.password.text = @"nopassword"; 

    } 
    else 
    { 
    self.username.text = [keychain objectForKey:(id)kSecAttrAccount]; 
    self.password.text = [keychain objectForKey:(id)kSecValueData]; 
    } 


} 
- (IBAction)logout { 
    [keychain resetKeychainItem]; 

} 
    - (IBAction)signin { 
    [keychain setObject:[_username text] forKey:(id)kSecAttrAccount]; 
    [keychain setObject:[_password text] forKey:(id)kSecValueData]; 


} 
+0

Проверьте стек вызовов в Xcode, когда произошел сбой, и сообщите нам, где в вашем коде произошел сбой. – jcaron

+0

Вы могли бы рассказать мне, как это сделать? Я не знал, что есть способ сохранить это, после того как я закрыл приложение в коммутаторе приложений, он отключается от Xcode. –

+0

можете ли вы воспроизвести его?если возможно, вы можете попытаться выйти из того, что является значением [_username text] и [_password text], мне кажется, что эти два недействительны – Surely

ответ

0

Я установил этот код сам, изменяя kSecValueData на kSecAttrService все работает отлично и аварии больше не происходит.

Смежные вопросы