diff --git a/AgileWorks/AgileWorks/Main/View/MainTabBarViewController.swift b/AgileWorks/AgileWorks/Main/View/MainTabBarViewController.swift index ba8feeef509ae33bf4408da63e02012b694aad6e..d0649ecae8d6b726516cddb4120f84ea67b4ac1f 100644 --- a/AgileWorks/AgileWorks/Main/View/MainTabBarViewController.swift +++ b/AgileWorks/AgileWorks/Main/View/MainTabBarViewController.swift @@ -34,6 +34,7 @@ class MainTabBarViewController: UITabBarController { super.viewDidLoad() delegate = self NotificationCenter.default.addObserver(self, selector: #selector(updateFcmToken(notification:)), name: .notifyFCMToken, object: nil) + NotificationCenter.default.addObserver(self, selector: #selector(movedToBackground), name: UIApplication.willResignActiveNotification, object: nil) } @objc @@ -47,6 +48,33 @@ class MainTabBarViewController: UITabBarController { } } } + + @objc + func movedToBackground() { + // 承認待ち件数の取得 + getApprovals { result in + var reqApprovalCount = 0 + switch result { + case .success(let response): + let requestApproval = "REQUEST_APPROVAL" + for item in response.items where item.code == requestApproval { + reqApprovalCount = item.count + } + DispatchQueue.main.async { + UIApplication.shared.applicationIconBadgeNumber = reqApprovalCount + } + case .failure(let error): + log.e(error) + } + } + } + // 承認件数取得 + private func getApprovals(completion: @escaping (Result) -> Void) { + let approvalsEndpoint = GetApprovalsEndpoint() + Session.send(approvalsEndpoint) { result in + completion(result) + } + } func popViewController() { guard let navigation = self.viewControllers?[self.selectedIndex] as? UINavigationController else {