Как проверить, как давно было открыто последнее приложение - PullRequest
0 голосов
/ 29 апреля 2018

В моем приложении я хочу проверить, как давно пользователь последний раз открывал приложение, и если бы это было 14 дней или более, пользователь получит подсказку о том, что он должен быть более активным, но я не слишком уверен, как чтобы проверить, как давно приложение использовалось в последний раз.

Ответы [ 3 ]

0 голосов
/ 29 апреля 2018

сохранение текущей даты (UserDefaults) для методов applicationWillTerminate(_:) & applicationDidEnterBackground(_:).

отметьте это application(_:didFinishLaunchingWithOptions:)

0 голосов
/ 29 апреля 2018

В вашем AppDelegate:

func applicationWillResignActive(_ application: UIApplication) {
    UserDefaults.standard.set(Date(), forKey: "LastOpened")
}

func applicationDidBecomeActive(_ application: UIApplication) {
    guard let lastOpened = UserDefaults.standard.object(forKey: "LastOpened") as? Date else {
        return
    }
    let elapsed = Calendar.current.dateComponents([.day], from: lastOpened, to: Date())
    if elapsed >= 14 {
        // show alert
    }
}
0 голосов
/ 29 апреля 2018

Сохранять текущую дату в UserDefaults всякий раз, когда приложение становится неактивным (используя делегат приложения applicationWillResignActive).

Загружать сохраненную дату (если есть) из UserDefaults каждый раз, когда приложение становится активным (с использованием делегата приложения applicationDidBecomeActive). Если есть дата (приложение не будет использоваться в первый раз), рассчитайте количество дней между извлеченной датой и текущей датой.

См. Быстрые дни между двумя NSDates , чтобы узнать, как рассчитать разницу между двумя датами. Короче говоря, вы используете метод Calendar dateComponents(_, from:, to:).

...