Reading time: 1 min

This recipe shows two ways of detecting when your app goes to foreground or background.

Continue Reading...

Reading time: 1 min

For whatever reason, stroking (i.e drawing a border) and filling a SwiftUI Shape at the same time is difficult and unintuitive. Shape has methods for both, stroke and fill, respectively, but they both return some View, meaning you can't chain them.

Continue Reading...

Reading time: 4 min

This recipe shows how to perform a GET request in the background using BGTaskScheduler and BGAppRefreshTaskRequest. For whatever reason, this has way too many gotchas:

  • You can't use Alamofire, you have to use URLSession.
  • You can use URLSessionDataTask, it has to be a URLSessionDownloadTask. Why? Beats me.
  • You can't use callbacks, you must use delegates to track request progress and completion.

Continue Reading...