2013-05-17 2 views
2

У меня очень странная проблема.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

+0

Используйте 'objectForKey:', а не 'valueForKey:'. – rmaddy

+0

Возможно, 'self.email.text' сам по себе ничто. – matt

+0

Глупый вопрос: может ли функция NSUserDefaults быть отключена на уровне предприятия? – Aaron

ответ

1

Чтобы получить объект из NSUserDefaults вы должны использовать objectForKey:, не valueForKey:. valueForKey: используется для кодирования с ключом (KVC).

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