我遇到了非常奇怪的问题。
我正在使用 [[NSUserDefaults standardUserDefaults] synchronize]
保存用户电子邮件和加密 key ,以便使用我的 ipad 应用程序登录到我的网络服务器。此方法成功保存键值并在模拟器上完美运行,如果我使用 USB 线将应用程序安装到我的设备上,也可以完美运行。
但是如果我为企业用户上传了我的 .ipa 文件,他们下载并安装了应用程序 [[NSUserDefaults standardUserDefaults] synchronize]
不保存电子邮件和 key 并返回 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);
登录模拟器和设备
post_email [email protected]
post_key xxxxxxx
LOG ON ORGANIZER 安装 .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
要从 NSUserDefaults
获取对象,您应该使用 objectForKey:
,而不是 valueForKey:
。 valueForKey:
用于键值编码(KVC)。
关于ios - NSUserDefaults 在设备和模拟器上工作,但在通过 .ipa 安装时在设备上返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16615039/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |