How do I get the user's location when generating timelines for a ClockKit complication?

I'm working on a widget in ClockKit (since WidgetKit is lacking in UI controls that I need for this app, namely the curved corner text). The widget will display data based on the user's location. It doesn't need to be completely precise, but it does need to update when the user moves about 10km or so.

I tried setting up CLLocationManager to give a callback in the AppDelegate, but this doesn't seem to work on the clock face unless the location is set to Always, which doesn't seem to be allowed as it's being set to When in Use even with a call to requestAlwaysAuthorization.

So, my main question is, what is the correct way to get the user's rough location in a complication? I know some of Apple's built-in complications do it -- namely, the sunrise/sunset complication.

Update: I was able to get the location authorization to Always, but my location update handler is still not being called most of the time -- I'll try setting the simulator to a few different locations and occasionally my breakpoint in the handler will be hit, but most of the time, it will not. Sometimes it'll get hit in rapid succession as several previous locations come through at once.

Is this simply not possible, and I have to depend on getting the location from the main iOS app or while the watch app is active?

How do I get the user's location when generating timelines for a ClockKit complication?
 
 
Q