1

これは私が持っているコードであり、アプリケーションバッジに日付を入れます。アプリを入力せずに毎日この番号をリロードする方法を考えていました。前もって感謝します!

NSDate *today = [NSDate date];
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *comp = [cal components:NSDayCalendarUnit fromDate:today];
NSInteger day = [comp day];
[UIApplication sharedApplication].applicationIconBadgeNumber = day;
4

2 に答える 2

1

比較的簡単な方法は、バッジを設定するコードをバックグラウンドに配置することです。[UIApplication beginBackgroundTaskWithExpirationHandler]この目的のために、または関連する呼び出しを使用できます。唯一の問題は、そのような実行には10分の制限があることです。そうは言っても、その制限を回避するために使用できるトリックがあります。このトピックについて説明している優れたスレッドは次のとおりです。アプリをバックグラウンドで10分以上実行する

于 2012-12-28T02:53:11.317 に答える
0

私は次のコードを持っています:

NSDate *fireTime = [[NSDate date] addTimeInterval:3600*24];
notification.fireDate = fireTime;
notification.alertBody = @"Your Message!";
notification.applicationIconBadgeNumber = 1;
[[UIApplication sharedApplication] scheduleLocalNotification:notification];

シミュレーターでテストしている場合は、おそらくそれが出力を取得しない理由です。デバイスでテストして、機能しているかどうかを確認します。

于 2012-12-28T04:27:12.527 に答える