У меня очень странная проблема.NSUserDefaults работает на устройстве и симуляторе, но возвращает NULL на устройстве при установке через .ipa
Я сохраняю электронную почту пользователей и зашифрованный ключ [[NSUserDefaults standardUserDefaults] synchronize]
для входа на мой веб-сервер с моим приложением ipad. Этот метод успешно сохраняет ключевые значения и отлично работает на симуляторе, а также отлично работает, если я устанавливаю приложение на свое устройство с помощью USB-шнура.
Но если я загружаю свой .ipa-файл для корпоративных пользователей, и они загружают и устанавливают приложение [[NSUserDefaults standardUserDefaults] synchronize]
не сохраняет электронную почту и ключ и возвращает null
.
[[NSUserDefaults standardUserDefaults] setInteger:userId forKey:@"user_id"];
[[NSUserDefaults standardUserDefaults] setObject:self.email.text forKey:@"email"];
[[NSUserDefaults standardUserDefaults] setObject:post_key forKey:@"key"];
[[NSUserDefaults standardUserDefaults] synchronize];
NSString *post_email = [[NSUserDefaults standardUserDefaults] valueForKey:@"email"];
NSString *post_key=[[NSUserDefaults standardUserDefaults] valueForKey:@"key"];
NSLog(@"post_email %@",post_email);
NSLog(@"post_key %@",post_key);
LOG ON Simulator и устройство
post_email [email protected]
post_key xxxxxxx
LOG ON ОРГАНИЗАТОР устройства, установившего .ipa файл:
��May 17 13:31:19 xxxxxx[1590] <Warning>: post_email (null)
��May 17 13:31:19 xxxxxxx[1590] <Warning>: post_key (null)
Почему это происходит? Как я могу это исправить?
EDIT FOR FUTURE REFEFRENCES::::::
Даже если ответ rmaddy является правильным для нулевых значений точная проблема была: ASIHTTPRequest begins but never ends
и ответ был: https://groups.google.com/forum/?fromgroups#!topic/asihttprequest/fw7PDcD2wKI
Используйте 'objectForKey:', а не 'valueForKey:'. – rmaddy
Возможно, 'self.email.text' сам по себе ничто. – matt
Глупый вопрос: может ли функция NSUserDefaults быть отключена на уровне предприятия? – Aaron