Llame a un servicio web desde iOS a una hora particular diariamente en segundo plano

¿Hay alguna manera de programar una función que llame a un servicio web a una hora en particular todos los días?

Según mi investigación, tendré que usar notificaciones locales oNSTimer para programar o llamar a la función a una hora específica. Pero necesito que esto funcione si mi aplicación está en segundo plano a la hora programada (y no ejecuta ninguna tarea en segundo plano) o en primer plano.

Hay dos casos: 1. El servicio de ubicación se está ejecutando en segundo plano en mi aplicación 2. No se está ejecutando ninguna ubicación o servicio en segundo plano, o la aplicación está en estado suspendido (si el usuario deshabilitó las actualizaciones de ubicación)

Pero tengo que enviar algún estado a mi servidor a la hora programada todos los días.