Запуск периодических задач в фоновом режиме после завершения работы приложения в 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, но я застрял, когда пытался его реализовать.

0 ответов

Другие вопросы по тегам