Recently, a user complained about the storage being used by Streets and I investigated the situation. It turned out the cache for network requests grew without a limit and could consume a few hundred MB. We use the standard NSURLSession API provided by iOS, so this seemed odd. Shouldn’t iOS take care of purging old cache data? At least, that’s what the NSURLCache documentation suggests. Unfortunately, iOS doesn’t enforce the maximum disk capacity of the cache so it grows and grows infinitely.

We reported this as a bug to Apple and hope it will be fixed in a future iOS version. In the meantime, we added a workaround in Streets 3.2.2 that manually purges the cache when over capacity. (If you’re a fellow app developer and are doing any network requests in your app, you should probably investigate if you’re affected, too!)

Apart from this embarrassing issue, the Streets 3.2.2 update improves Spotlight indexing and addresses a few issues in the Watch app.

Leave a comment