I've been working on a watchOS extension that uses background refreshes and background downloads to periodically update a complication. (Xcode 10.0/10.13.6, series zero 🙂 watch/watchOS 4.3.2, iPhoneX/12.0).
Everything works really well, but only while the paired iPhone is charging. When the phone is not charging, the server sees no http request and no WKURLSessionRefreshBackgroundTask is passed to handleBackgroundTasks:.
Can anyone think of an explanation for this? I'm at a loss.
p.s. I recently found this forum post about NSURLSession's Resume Rate Limiter https://forums.developer.apple.com/message/42352
It refers to iOS, but it's not hard to imagine how it might apply to watchOS. This post explains many of the strange phenomena seen when working with background downloads on watchOS and should immediately be promoted to full documentation and reproduced verbatim on every page of the NSURLSession and WatchKit docs, and also referenced from timeoutIntervalForResource (getting exponentially rate limited for network timeouts while the background refresh mechanism thinks you're ok is extremely surprising). I can't see however how the RRL could explain my above problem.
p.p.s I've been away a while - what happened to the content on the old https://devforums.apple.com ? Is it gone forever?