Запуск периодических задач в фоновом режиме после завершения работы приложения в MacOS
Я разработчик для iOS, и я разработал приложение, которое выполняет периодическую фоновую задачу с использованием фоновых режимов. Я хочу реализовать ту же функцию в версии этого приложения для MacOS, так как я новичок в разработке для MacOS и столкнулся с некоторой проблемой. относительно реализации этой функции.
Я использовал NSBackgroundActivityScheduler для планирования периодической активности, которая отлично работает, когда приложение работает или находится в док-станции. Но я не смог достичь того же результата, когда я вышел из приложения. Я хочу выполнить эту задачу даже после того, как приложение завершится или закроется.
func startBackgroundTask() {
let activity = NSBackgroundActivityScheduler.init(identifier:"com.abc.xyz")
activity.invalidate()
activity.interval = 60
activity.repeats = true
activity.qualityOfService = QualityOfService.background
activity.schedule() {(completion: NSBackgroundActivityScheduler.CompletionHandler) in
print("background task scheduled")
// Perform the activity
NotificationManager.sharedManager().showNotification(informativeText: "Next notification will come after 1 minute") //This is to find notify the background service started.
//perform operation over here...
completion(NSBackgroundActivityScheduler.Result.finished)
}
Я исследовал различные варианты, такие как XPC, LaunchAgent, LoginItems, Process и т. Д., Но я не понимаю, какой вариант выбрать. Как и на форуме разработчиков Apple, они использовали XPC с LoginItems, но я застрял, когда пытался его реализовать.