IOS
 Computer >> コンピューター >  >> プログラミング >> IOS

iOSアプリ内でバックグラウンドでタイマーを実行する方法


iOSアプリケーション内でバックグラウンドでタイマーを実行したい場合、AppleはbeginBackgroundTaskWithExpirationHandlerメソッドを提供しています。同じhttps://developer.apple.com/documentation/uikit/uiapplication/1623031-beginbackgroundtaskwithexpirationについて詳しく読むことができます。

バックグラウンドでタイマーを実行するためのコードを書くために同じものを使用します。

それでは始めましょう。

ステップ1 −Xcodeを開く→シングルビューアプリケーション→名前をBackgroundTimerにしましょう。

ステップ2 − AppDelegate.swiftを開き、メソッドapplicationDidEnterBackgroundの下に以下のコードを記述します。

backgroundTaskIdentifier = UIApplication.shared.beginBackgroundTask(expirationHandler: {
   UIApplication.shared.endBackgroundTask(self.backgroundTaskIdentifier!)
})
_ = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(self.doSomething), userInfo: nil, repeats: true)

ステップ3 −新しい関数doSomething()

を作成します
@objc func doSomething() {
   print("I'm running")
}

最後に、コードは次のようになります

func applicationDidEnterBackground(_ application: UIApplication) {
   backgroundTaskIdentifier = UIApplication.shared.beginBackgroundTask(expirationHandler: {
      UIApplication.shared.endBackgroundTask(self.backgroundTaskIdentifier!)
   })
   _ = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(self.doSomething), userInfo: nil, repeats: true)
}
@objc func doSomething() {
   print("I'm running")
}

アプリケーションを実行する

ここでは、アプリケーションがバックグラウンドに移行したときに「実行中」と出力しています。アプリがバックグラウンドになると、「実行中」がコンソールでの印刷を開始します。ホームボタンをタップしてテストします。ただし、Appleのドキュメントで指定され、テストされているように、アプリがバックグラウンドで動作している場合は、タイマーを最大3分間実行できます。

このアプリケーションを実行している間、アプリケーションをバックグラウンドで作成し、3分待ってください。3分後に「実行中」が印刷されなくなります。アプリケーションをフォアグラウンドに移動すると、「実行中」の印刷が開始されます。

iOSアプリ内でバックグラウンドでタイマーを実行する方法


  1. iOS 13 ダーク モード用にアプリを設定する方法

    Apple は、待望の iOS 13 アップデートを 9 月 19 日に、過去 4 年間 (iPhone 6s に遡る) 内に発売されたすべての iPhone でグローバルにリリースしました。 このアップデートの最大の機能の 1 つは、システム全体の iOS 13 ダーク モードでした。スマートフォンのディスプレイから放出される白色光によって引き起こされる眼精疲労に役立つことが期待されています. この機能は、Apple デバイスを使用する最終消費者にとっては喜ばしいことですが、iOS 開発者にとっては、iOS 13 ダーク モードに対応したアプリを準備する作業です。 iOS 13 ダーク

  2. Android スマートフォンでバックグラウンドで実行中のアプリを停止する方法

    私たちの Android スマートフォンは非常に強力なデバイスであり、デジタル カメラ、eBook リーダー、MP3 プレーヤー、電卓、懐中電灯、フォト ビューアー、ラジオなど、多くのデバイスの破壊的なテクノロジーとして機能してきました。ただし、各デバイスを排除するには、Android に対応するアプリが必要であり、その結果、多くのアプリが携帯電話を過密状態にしています. ただし、多くのアプリがインストールされているという問題は、Android デバイスのディスク容量を増やすことで解決できます。本当の問題は、これらのアプリの多くがバックグラウンドで実行され、限られたリソースを消費するときに発