Crea un runloop de background en iOS

Caso de uso

Tengo un set de processs que cada uno debe ejecutar en su propio hilo de background a una tasa de ejecución determinada (3 veces por segundo, una vez cada 10 segundos, etc.).

Creo que CFRunLoop y / o NSRunLoop proporcionan esta funcionalidad

Pregunta

¿Cómo creo (en swift) un nuevo subprocess de background para el que ejecutar tareas periódicas?

Esto se puede hacer con la queue de background de Global Dispatch.

Ejemplo de hilo de background:

  let qualityServiceClass = QOS_CLASS_BACKGROUND let backgroundQueue = dispatch_get_global_queue(qualityServiceClass, 0) dispatch_async(backgroundQueue, { print("This is run on the background queue") // With the help of NSTimer it will hit method after every 5 minutes (300 seconds). _ = NSTimer.scheduledTimerWithTimeInterval(300.0, target: self, selector: #selector(AppDelegate.callAppSettingWebservice), userInfo: nil, repeats: true) })