0

ここで、ユーザーにアプリの時間を開いてもらい、時間が 24 時間以上の場合は前回と比較して、ユーザーにアプリの更新を思い出させる必要があります。これに関するObjective-Cコードを知っているのは誰ですか? 助けてください。どうもありがとうございました!

4

3 に答える 3

3

値を user defaults に保存することをお勧めします。これにより、ユーザーがアプリを終了しても、データ時間の詳細を取得できます。アプリデリゲートに以下のコードを追加します- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

 NSDate *dateTimenow=[NSDate date];
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"dd-MM-yyyy hh:mm"];
NSString *strDateTimeNow=[NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:dateTimenow]];
NSLog(@"now date time: %@",strDateTimeNow);

NSUserDefaults *userdefaults=[NSUserDefaults standardUserDefaults];

if ([userdefaults valueForKey:@"LastAppLaunchTime"]) {
    NSString *strPreviousDateTime=[NSString stringWithFormat:@"%@",[userdefaults valueForKey:@"LastAppLaunchTime"]];
    NSLog(@"previous date time: %@",strPreviousDateTime);

    //Now you can compare current date time with previous date time
    //perform task after comparing



}


[userdefaults setValue:strDateTimeNow forKey:@"LastAppLaunchTime"];// saving recent date time details for next time

バックグラウンドでフォアグラウンドに移動しながらこれを行うこともできるため、アプリがバックグラウンドで 24 時間以上中断されている場合でも、タスクを実行できます。これが役立つことを願っています。

于 2015-04-10T09:34:42.293 に答える
0

You can use NSDate:

NSDate* now = [NSDate date];

Save this value as lastTimeOpened and compare during next launch:

if ([now timeIntervalSinceDate:lastTimeOpened] > someTime)
于 2015-04-09T09:28:03.373 に答える