QoS

Note: iOS 8+ should use QoS instead of system default queues (times showed are just examples)
  • User-interactive: UI feedback. Such as animation. (<1s)
  • User-initiated: UI works that required in order to continue the interaction. Such as opening a file. (1~3s)
  • Utility: UI works that have no need for an immediate result. Such as downloading a file. (3s~3m)
  • BackgroundNon-UI works. Such as indexing, backup. (3m~3h)

Location tracking and battery usage

  • Visits location service (CLVisit): most power-efficient way. Not for navigation or real-time. Good for doing async background processing related to location. Or to identify location pattern. Requires Always authorization. 
  • Region monitoring (Geofencing): Define a circular region and your app gets a notification when crossing the boundary. Apple’s built-in Reminder app uses that too. Very little battery consumption. It is built upon Core Location’s significant-change location service. Requires Always authorization. 
  • Significant-change location service: power-friendly way. Requires Always authorization. 
  • Standard location service: Real-time. Most power consumption.