Use dispatch_source_set_timer with dispatch_source_set_timer and allow leeway:

Then came .

// Disable App Nap for critical background tasks beginActivityWithOptions:NSActivityBackground reason:@"Downloading file"

For over a decade, OS X updates were named after big cats. When Apple announced version 10.9 would be called "Mavericks," after a surf spot in Northern California, it caused a stir. It sounded odd at first. But the logic was sound: Apple was running out of impressive cats. (OS X Ocelot, anyone?)