iOS - Not able to store NSDate into NSUserDefaults
ios, nsdate, nsuserdefaults
Solution
Since your goal to is keep track of the very first time a user starts your app, you need something like this in `application:didFinishLaunchingWithOptions`:
NSDate *date = [[NSUserDefaults standardUserDefaults] objectForKey:@"CONSCIENCE_START_DATE"];
if (!date) {
// This is the 1st run of the app
date = [NSDate date];
[[NSUserDefaults standardUserDefaults] setObject:date forKey:@"CONSCIENCE_START_DATE"]; // Save date
}
NSLog(@"First run was %@", date);
Problem
In my application, i want to store the date at which the app is started for the first time. I'm using following code in application:didFinishLaunchingWithOptions method ``` NSDate* today = [NSDate date]; [[NSUserDefaults standardUserDefaults] registerDefaults: @{@"CONSCIENCE_START_DATE" : today}]; NSLog(@"%@", [[NSUserDefaults standardUserDefaults] objectForKey:@"CONSCIENCE_START_DATE"]); ``` But every time when i start the application, its printing the time at which the app is starting. Its not printing the date at which i started the app. I tried to reset the simulator and ran the code again. Still no success. Can some one point me the error in my code please?