Я разработчик для 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, но я застрял, когда пытался его реализовать.