     ///   - complete: The completion block that will return the requests with the identifiers.
     func get(withIdentifiers: [String], complete: @escaping ([UNNotificationRequest]) -> Void) {
         getPendingNotificationRequests {
-            complete($0.filter { withIdentifiers.contains($0.identifier) })
+            let requests = $0.filter { withIdentifiers.contains($0.identifier) }
+            DispatchQueue.main.async {
+                complete(requests)
+            }
         }
     }
     

    ///   - complete: The completion block that will return the request with the identifier.
    func get(withIdentifier: String, complete: @escaping (UNNotificationRequest?) -> Void) {
        getPendingNotificationRequests {
            complete($0.first { $0.identifier == withIdentifier })
        }
    }
    

                
                // Request permission before registering if applicable
                self.requestAuthorization(options: authorizations) { granted, error in
                    defer { DispatchQueue.main.async { completion?(granted) } }
                    guard granted else { return }
                    self.setNotificationCategories(categorySet)
                }
