2015-04-01 22 views

回答

0

一些事情你必須照顧。

當第一次啓動應用程序時,獲取當前時間並將該對象保存到NSUserDefaults。 每當用戶再次打開應用程序時,獲取NSUserDefaults中保存的對象並查看它是否爲24小時。如果是這樣,請顯示RateUs,否則爲剩餘時間設置計時器。

更好的是,使用開源解決方案,如iRate

+0

感謝您的建議。 – 2015-04-01 12:52:53

+0

installedDate = [[NSUserDefaults standardUserDefaults] objectForKey:@「FirstLaunchTime」]; if(installedDate == nil)//第一次運行 {[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@「FirstLaunchTime」]; } else { NSDate * presentDate = [NSDate date]; 如果([installedDate比較:presentDate] == NSOrderedDescending && [[NSUserDefaults的standardUserDefaults] boolForKey:@ 「is24hoursFinished」]!) { [[NSUserDefaults的standardUserDefaults] setBool:TRUE forKey:@ 「is24hoursFinished」]; } } 謝謝 – 2015-04-01 12:54:15

+0

@RevanthPrasad真棒。 – 2015-04-01 13:24:33

0

NSDate * installedDate = [[NSUserDefaults standardUserDefaults] objectForKey:@「FirstLaunchTime」];

if (installedDate == nil) { // runs for the first time 

    [[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"FirstLaunchTime"]; 
    printf("\n First time \n"); 
} 
else{ 

    if (![[NSUserDefaults standardUserDefaults] boolForKey:@"is24hoursFinished"]) 
    { 
     NSDate *presentDate = [NSDate date]; 

     NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 
     NSUInteger units = NSDayCalendarUnit; 

     NSDateComponents *Components = [gregorian components:units fromDate:installedDate toDate:presentDate options:0]; 
     NSInteger days = [Components day]; 

     printf("Number of days %ld",(long)days); 

     if (days > 0) 
     { 
      [[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"is24hoursFinished"]; 
      [[NSUserDefaults standardUserDefaults] synchronize]; 
     } 

    } 

} 
相關問題