I am using the SDWebImage
library to cache web images in my app:
https://github.com/rs/SDWebImage/blob/master/README.md
Current Usage:
[imageView setImageWithURL:[NSURL URLWithString:profilePictureUrl] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
My question is what happens once the image has been cached and then a couple of days later that image file on the server has been updated with a new image?
At the moment my application is still displaying the cached image.
I can't see in any of the documentation on setting a cache timeout or something that recognises that the file size has changed.
If anyone has experience using this particular library then any help would be greatly appreciated.
Thanks in advance.
I had a look at the source code. It processes the setImageWithURL
method like this:
There is no request sent to ask the remote server if there is a new version while there is something old on disk, like using ETags of the HTTP protocol.
Digging a bit deeper the cache time is set to a static value in SDImageCache.m
static NSInteger cacheMaxCacheAge = 60*60*24*7; // 1 week
it cannot be changed with a setter.
So as long as the image in the cache is valid the SDWebImage
lib won't download anything new. After a week it'll download your changed image.