applicazione in background

ciao a tutti,
inizio sottolineando la mia totale inesperienza in quanto a programmazione per piattaforma iOS. La mia domanda e questa: è possibile programmare un’applicazione che ogni tot tempo si “sveglia” ed effettua delle operazioni (esempio controlla se l’accelerometro è attivo, effettua operazioni matematiche)?

Inoltre è possibile avere un collegamento con un server che mi dice quando effettuare alcune operazioni (in pratica invece di farle fare per forza ogni tot tempo gli dico io quando farle tramite un server)? Questo esiste per Android (Android Cloud to Device Messaging Framework) ma non so per iphone…

Grazie mille

Francesco