前提・実現したいこと
アプリがバックグラウンドにいった時に、通知を受け取りたいです。
発生している問題・エラーメッセージ
様々なHPを参考にしましたが、アプリがバックグラウンドに行った時にくる通知を受け取ることができません。
さらに、下のエラーがデバッグに表示されます。
Can't end BackgroundTask: no background task exists with identifier 1 (0x1), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.
該当のソースコード
Swift
1import UIKit 2 3@UIApplicationMain 4class AppDelegate: UIResponder, UIApplicationDelegate { 5 6func applicationDidEnterBackground(_ application: UIApplication) { 7 8 // アプリがバッググラウンドになる直前に通知 9 NotificationCenter.default.post(name: Notification.Name(rawValue: "applicationDidEnterBackground"), object: nil) 10 11 } 12 13}
Swift
1import UIKit 2 3class ViewController: UIViewController { 4 5 override func viewWillAppear(_ animated: Bool) { 6 super.viewWillAppear(animated) 7 8 //バッググラウンドになる直前に通知受け取り 9 NotificationCenter.default.addObserver(self, selector: #selector(ViewController.viewDidEnterBackground(_:)), name: NSNotification.Name(rawValue: "applicationDidEnterBackground"), object: nil) 10 11 } 12 13 //アプリがバッググラウンドになる直前に通知を受け取る 14 //ここを通らない 15 @objc func viewDidEnterBackground(_ notification: Notification?) { 16 17 print("バックグラウンド") 18 19 } 20 21}
補足情報(FW/ツールのバージョンなど)
Swift4
Version 11.2.1
ご教授いただけると嬉しいです。よろしくお願いいたします。
あなたの回答
tips
プレビュー