Запуск периодических задач в фоновом режиме после завершения приложения в MacOS - PullRequest
0 голосов
/ 12 сентября 2018

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

...