If you use Core Location to track user's location, one way to reduce power consumption is to set the pausesLocationUpdatesAutomatically property of CLLocationManager along with activityType to an appropriate type so Core Location knows when it can pause location updates.
var locationManager = CLLocationManager()
locationManager.pause = true
locationManager.activityType = .Fitness
.
.