Posted on 16 Aug 2022, this text provides information on Bugs & Fixes related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.
userNotificationCenter:didReceive:withCompletionHandler is called but the app get killed very quickly.
The app is completely killed and I want to respond to notification action without opening the app. I've tried to use semaphore with no success.
publicinit(){super.init()self.startBackgroundService()UNUserNotificationCenter.current().delegate =selfMessaging.messaging().delegate =self}publicfunc userNotificationCenter(_ center:UNUserNotificationCenter,
didReceive response:UNNotificationResponse,
withCompletionHandler completionHandler:@escaping ()->Void){NSLog("userNotificationCenter:didReceive:withCompletionHandler")vardata:[String:Any]=["$":"NotificationResponse"]data["notification"]= response.notification.asDictionary()data["actionIdentifier"]= response.actionIdentifier
data["backgroundDispatcher"]= getDispatcherHandle(key:"backgroundDispatcher")iflet textResponse = response as?UNTextInputNotificationResponse{data["$"]="TextInputNotificationResponse"data["userText"]= textResponse.userText
}if(!initialized){// wait for the service to initialize
semaphore.wait();}self.background.invokeMethod("notificationResponse", arguments:data){ result in
completionHandler()// the work is done, resume
self.semaphore.resume();}// wait for the work to complete
semaphore.wait();}privatefunc startBackgroundService(){NSLog("startBackgroundService")
internalQueue.sync {if(initialized){return;}}iflet info =FlutterCallbackCache.lookupCallbackInformation(getDispatcherHandle(key:"callbackDispatcher")){
backgroundRunner.run(withEntrypoint: info.callbackName, libraryURI: info.callbackLibraryPath)
registrar.addMethodCallDelegate(self,channel: background)
background.setMethodCallHandler { call
No matter what stage you're at in your education or career, TuteeHUB will help you reach the next level that
you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice
sessions to improve your knowledge and scores.
manpreet
Best Answer
2 years ago
userNotificationCenter:didReceive:withCompletionHandler is called but the app get killed very quickly.
The app is completely killed and I want to respond to notification action without opening the app. I've tried to use semaphore with no success.