2011-12-05 09:48:58 +08:00
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
2015-10-07 06:58:23 +08:00
00733A541BC4880000A5A117 /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = 5340674F167780C40042B59E /* SDWebImageCompat.m */; };
00733A551BC4880000A5A117 /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D8C148C56230056699D /* SDWebImageDownloader.m */; };
00733A561BC4880000A5A117 /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 530E49E416460AE2002868E7 /* SDWebImageDownloaderOperation.m */; };
00733A571BC4880000A5A117 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D86148C56230056699D /* SDImageCache.m */; };
00733A581BC4880000A5A117 /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D8F148C56230056699D /* SDWebImageManager.m */; };
00733A5A1BC4880000A5A117 /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D92148C56230056699D /* SDWebImagePrefetcher.m */; };
00733A5B1BC4880000A5A117 /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D5B9141188EE8DD006D06BD /* NSData+ImageContentType.m */; };
00733A5C1BC4880000A5A117 /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D94148C56230056699D /* UIButton+WebCache.m */; };
00733A5D1BC4880000A5A117 /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = A18A6CC6172DC28500419892 /* UIImage+GIF.m */; };
00733A5E1BC4880000A5A117 /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 53EDFB8917623F7C00698166 /* UIImage+MultiFormat.m */; };
00733A601BC4880000A5A117 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = ABBE71A618C43B4D00B75E91 /* UIImageView+HighlightedWebCache.m */; };
00733A611BC4880000A5A117 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D96148C56230056699D /* UIImageView+WebCache.m */; };
00733A621BC4880000A5A117 /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = AB615302192DA24600A2D8E9 /* UIView+WebCacheOperation.m */; };
00733A631BC4880E00A5A117 /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D88148C56230056699D /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Public, ); }; };
00733A641BC4880E00A5A117 /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 530E49E71646388E002868E7 /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
00733A651BC4880E00A5A117 /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D8B148C56230056699D /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Public, ); }; };
00733A661BC4880E00A5A117 /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 530E49E316460AE2002868E7 /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
00733A671BC4880E00A5A117 /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D85148C56230056699D /* SDImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
00733A681BC4880E00A5A117 /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D8E148C56230056699D /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
00733A6A1BC4880E00A5A117 /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D91148C56230056699D /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Public, ); }; };
00733A6B1BC4880E00A5A117 /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D5B9140188EE8DD006D06BD /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Public, ); }; };
00733A6C1BC4880E00A5A117 /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D93148C56230056699D /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
00733A6D1BC4880E00A5A117 /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = A18A6CC5172DC28500419892 /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Public, ); }; };
00733A6E1BC4880E00A5A117 /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 53EDFB8817623F7C00698166 /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Public, ); }; };
00733A701BC4880E00A5A117 /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = ABBE71A518C43B4D00B75E91 /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
00733A711BC4880E00A5A117 /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D95148C56230056699D /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
00733A721BC4880E00A5A117 /* UIView+WebCacheOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = AB615301192DA24600A2D8E9 /* UIView+WebCacheOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
2016-05-09 03:59:32 +08:00
00733A731BC4880E00A5A117 /* SDWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A2CAE031AB4BB5400B6BC39 /* SDWebImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
2018-02-18 11:34:06 +08:00
320224BB203979BA00E9F285 /* SDAnimatedImageRep.h in Headers */ = {isa = PBXBuildFile; fileRef = 320224B9203979BA00E9F285 /* SDAnimatedImageRep.h */; settings = {ATTRIBUTES = (Public, ); }; };
320224BC203979BA00E9F285 /* SDAnimatedImageRep.m in Sources */ = {isa = PBXBuildFile; fileRef = 320224BA203979BA00E9F285 /* SDAnimatedImageRep.m */; };
2018-04-18 12:50:05 +08:00
320CAE152086F50500CFFC80 /* SDWebImageError.h in Headers */ = {isa = PBXBuildFile; fileRef = 320CAE132086F50500CFFC80 /* SDWebImageError.h */; settings = {ATTRIBUTES = (Public, ); }; };
320CAE162086F50500CFFC80 /* SDWebImageError.h in Headers */ = {isa = PBXBuildFile; fileRef = 320CAE132086F50500CFFC80 /* SDWebImageError.h */; settings = {ATTRIBUTES = (Public, ); }; };
320CAE172086F50500CFFC80 /* SDWebImageError.h in Headers */ = {isa = PBXBuildFile; fileRef = 320CAE132086F50500CFFC80 /* SDWebImageError.h */; settings = {ATTRIBUTES = (Public, ); }; };
320CAE182086F50500CFFC80 /* SDWebImageError.h in Headers */ = {isa = PBXBuildFile; fileRef = 320CAE132086F50500CFFC80 /* SDWebImageError.h */; settings = {ATTRIBUTES = (Public, ); }; };
320CAE192086F50500CFFC80 /* SDWebImageError.h in Headers */ = {isa = PBXBuildFile; fileRef = 320CAE132086F50500CFFC80 /* SDWebImageError.h */; settings = {ATTRIBUTES = (Public, ); }; };
320CAE1A2086F50500CFFC80 /* SDWebImageError.h in Headers */ = {isa = PBXBuildFile; fileRef = 320CAE132086F50500CFFC80 /* SDWebImageError.h */; settings = {ATTRIBUTES = (Public, ); }; };
320CAE1B2086F50500CFFC80 /* SDWebImageError.m in Sources */ = {isa = PBXBuildFile; fileRef = 320CAE142086F50500CFFC80 /* SDWebImageError.m */; };
320CAE1C2086F50500CFFC80 /* SDWebImageError.m in Sources */ = {isa = PBXBuildFile; fileRef = 320CAE142086F50500CFFC80 /* SDWebImageError.m */; };
320CAE1D2086F50500CFFC80 /* SDWebImageError.m in Sources */ = {isa = PBXBuildFile; fileRef = 320CAE142086F50500CFFC80 /* SDWebImageError.m */; };
320CAE1E2086F50500CFFC80 /* SDWebImageError.m in Sources */ = {isa = PBXBuildFile; fileRef = 320CAE142086F50500CFFC80 /* SDWebImageError.m */; };
320CAE1F2086F50500CFFC80 /* SDWebImageError.m in Sources */ = {isa = PBXBuildFile; fileRef = 320CAE142086F50500CFFC80 /* SDWebImageError.m */; };
320CAE202086F50500CFFC80 /* SDWebImageError.m in Sources */ = {isa = PBXBuildFile; fileRef = 320CAE142086F50500CFFC80 /* SDWebImageError.m */; };
2018-05-17 12:00:31 +08:00
321B37812083290E00C0EA77 /* SDImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 321B377D2083290D00C0EA77 /* SDImageLoader.h */; settings = {ATTRIBUTES = (Public, ); }; };
321B37822083290E00C0EA77 /* SDImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 321B377D2083290D00C0EA77 /* SDImageLoader.h */; settings = {ATTRIBUTES = (Public, ); }; };
321B37832083290E00C0EA77 /* SDImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 321B377D2083290D00C0EA77 /* SDImageLoader.h */; settings = {ATTRIBUTES = (Public, ); }; };
321B37842083290E00C0EA77 /* SDImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 321B377D2083290D00C0EA77 /* SDImageLoader.h */; settings = {ATTRIBUTES = (Public, ); }; };
321B37852083290E00C0EA77 /* SDImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 321B377D2083290D00C0EA77 /* SDImageLoader.h */; settings = {ATTRIBUTES = (Public, ); }; };
321B37862083290E00C0EA77 /* SDImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 321B377D2083290D00C0EA77 /* SDImageLoader.h */; settings = {ATTRIBUTES = (Public, ); }; };
321B37872083290E00C0EA77 /* SDImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 321B377E2083290D00C0EA77 /* SDImageLoader.m */; };
321B37882083290E00C0EA77 /* SDImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 321B377E2083290D00C0EA77 /* SDImageLoader.m */; };
321B37892083290E00C0EA77 /* SDImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 321B377E2083290D00C0EA77 /* SDImageLoader.m */; };
321B378A2083290E00C0EA77 /* SDImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 321B377E2083290D00C0EA77 /* SDImageLoader.m */; };
321B378B2083290E00C0EA77 /* SDImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 321B377E2083290D00C0EA77 /* SDImageLoader.m */; };
321B378C2083290E00C0EA77 /* SDImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 321B377E2083290D00C0EA77 /* SDImageLoader.m */; };
321B378D2083290E00C0EA77 /* SDImageLoadersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 321B377F2083290E00C0EA77 /* SDImageLoadersManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
321B378E2083290E00C0EA77 /* SDImageLoadersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 321B377F2083290E00C0EA77 /* SDImageLoadersManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
321B378F2083290E00C0EA77 /* SDImageLoadersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 321B377F2083290E00C0EA77 /* SDImageLoadersManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
321B37902083290E00C0EA77 /* SDImageLoadersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 321B377F2083290E00C0EA77 /* SDImageLoadersManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
321B37912083290E00C0EA77 /* SDImageLoadersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 321B377F2083290E00C0EA77 /* SDImageLoadersManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
321B37922083290E00C0EA77 /* SDImageLoadersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 321B377F2083290E00C0EA77 /* SDImageLoadersManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
321B37932083290E00C0EA77 /* SDImageLoadersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 321B37802083290E00C0EA77 /* SDImageLoadersManager.m */; };
321B37942083290E00C0EA77 /* SDImageLoadersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 321B37802083290E00C0EA77 /* SDImageLoadersManager.m */; };
321B37952083290E00C0EA77 /* SDImageLoadersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 321B37802083290E00C0EA77 /* SDImageLoadersManager.m */; };
321B37962083290E00C0EA77 /* SDImageLoadersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 321B37802083290E00C0EA77 /* SDImageLoadersManager.m */; };
321B37972083290E00C0EA77 /* SDImageLoadersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 321B37802083290E00C0EA77 /* SDImageLoadersManager.m */; };
321B37982083290E00C0EA77 /* SDImageLoadersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 321B37802083290E00C0EA77 /* SDImageLoadersManager.m */; };
2018-01-19 15:46:05 +08:00
321DB3612011D4D70015D2CB /* NSButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 321DB35F2011D4D60015D2CB /* NSButton+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
321DB3622011D4D70015D2CB /* NSButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 321DB3602011D4D60015D2CB /* NSButton+WebCache.m */; };
2018-04-26 22:39:52 +08:00
321E60861F38E8C800405457 /* SDImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60841F38E8C800405457 /* SDImageCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60871F38E8C800405457 /* SDImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60841F38E8C800405457 /* SDImageCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60881F38E8C800405457 /* SDImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60841F38E8C800405457 /* SDImageCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60891F38E8C800405457 /* SDImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60841F38E8C800405457 /* SDImageCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E608A1F38E8C800405457 /* SDImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60841F38E8C800405457 /* SDImageCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E608B1F38E8C800405457 /* SDImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60841F38E8C800405457 /* SDImageCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E608C1F38E8C800405457 /* SDImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60851F38E8C800405457 /* SDImageCoder.m */; };
321E608D1F38E8C800405457 /* SDImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60851F38E8C800405457 /* SDImageCoder.m */; };
321E608E1F38E8C800405457 /* SDImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60851F38E8C800405457 /* SDImageCoder.m */; };
321E608F1F38E8C800405457 /* SDImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60851F38E8C800405457 /* SDImageCoder.m */; };
321E60901F38E8C800405457 /* SDImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60851F38E8C800405457 /* SDImageCoder.m */; };
321E60911F38E8C800405457 /* SDImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60851F38E8C800405457 /* SDImageCoder.m */; };
2018-04-26 22:51:50 +08:00
321E60941F38E8ED00405457 /* SDImageIOCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60921F38E8ED00405457 /* SDImageIOCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60951F38E8ED00405457 /* SDImageIOCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60921F38E8ED00405457 /* SDImageIOCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60961F38E8ED00405457 /* SDImageIOCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60921F38E8ED00405457 /* SDImageIOCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60971F38E8ED00405457 /* SDImageIOCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60921F38E8ED00405457 /* SDImageIOCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60981F38E8ED00405457 /* SDImageIOCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60921F38E8ED00405457 /* SDImageIOCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60991F38E8ED00405457 /* SDImageIOCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60921F38E8ED00405457 /* SDImageIOCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E609A1F38E8ED00405457 /* SDImageIOCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60931F38E8ED00405457 /* SDImageIOCoder.m */; };
321E609B1F38E8ED00405457 /* SDImageIOCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60931F38E8ED00405457 /* SDImageIOCoder.m */; };
321E609C1F38E8ED00405457 /* SDImageIOCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60931F38E8ED00405457 /* SDImageIOCoder.m */; };
321E609D1F38E8ED00405457 /* SDImageIOCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60931F38E8ED00405457 /* SDImageIOCoder.m */; };
321E609E1F38E8ED00405457 /* SDImageIOCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60931F38E8ED00405457 /* SDImageIOCoder.m */; };
321E609F1F38E8ED00405457 /* SDImageIOCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60931F38E8ED00405457 /* SDImageIOCoder.m */; };
321E60A21F38E8F600405457 /* SDImageGIFCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60A01F38E8F600405457 /* SDImageGIFCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60A31F38E8F600405457 /* SDImageGIFCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60A01F38E8F600405457 /* SDImageGIFCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60A41F38E8F600405457 /* SDImageGIFCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60A01F38E8F600405457 /* SDImageGIFCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60A51F38E8F600405457 /* SDImageGIFCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60A01F38E8F600405457 /* SDImageGIFCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60A61F38E8F600405457 /* SDImageGIFCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60A01F38E8F600405457 /* SDImageGIFCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60A71F38E8F600405457 /* SDImageGIFCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60A01F38E8F600405457 /* SDImageGIFCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60A81F38E8F600405457 /* SDImageGIFCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60A11F38E8F600405457 /* SDImageGIFCoder.m */; };
321E60A91F38E8F600405457 /* SDImageGIFCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60A11F38E8F600405457 /* SDImageGIFCoder.m */; };
321E60AA1F38E8F600405457 /* SDImageGIFCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60A11F38E8F600405457 /* SDImageGIFCoder.m */; };
321E60AB1F38E8F600405457 /* SDImageGIFCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60A11F38E8F600405457 /* SDImageGIFCoder.m */; };
321E60AC1F38E8F600405457 /* SDImageGIFCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60A11F38E8F600405457 /* SDImageGIFCoder.m */; };
321E60AD1F38E8F600405457 /* SDImageGIFCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60A11F38E8F600405457 /* SDImageGIFCoder.m */; };
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
321E60BE1F38E91700405457 /* UIImage+ForceDecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60BC1F38E91700405457 /* UIImage+ForceDecode.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60BF1F38E91700405457 /* UIImage+ForceDecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60BC1F38E91700405457 /* UIImage+ForceDecode.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60C01F38E91700405457 /* UIImage+ForceDecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60BC1F38E91700405457 /* UIImage+ForceDecode.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60C11F38E91700405457 /* UIImage+ForceDecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60BC1F38E91700405457 /* UIImage+ForceDecode.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60C21F38E91700405457 /* UIImage+ForceDecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60BC1F38E91700405457 /* UIImage+ForceDecode.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60C31F38E91700405457 /* UIImage+ForceDecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60BC1F38E91700405457 /* UIImage+ForceDecode.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60C41F38E91700405457 /* UIImage+ForceDecode.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60BD1F38E91700405457 /* UIImage+ForceDecode.m */; };
321E60C51F38E91700405457 /* UIImage+ForceDecode.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60BD1F38E91700405457 /* UIImage+ForceDecode.m */; };
321E60C61F38E91700405457 /* UIImage+ForceDecode.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60BD1F38E91700405457 /* UIImage+ForceDecode.m */; };
321E60C71F38E91700405457 /* UIImage+ForceDecode.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60BD1F38E91700405457 /* UIImage+ForceDecode.m */; };
321E60C81F38E91700405457 /* UIImage+ForceDecode.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60BD1F38E91700405457 /* UIImage+ForceDecode.m */; };
321E60C91F38E91700405457 /* UIImage+ForceDecode.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60BD1F38E91700405457 /* UIImage+ForceDecode.m */; };
2018-04-18 21:14:34 +08:00
3237F9E820161AE000A88143 /* NSImage+Compatibility.m in Sources */ = {isa = PBXBuildFile; fileRef = 4397D2F51D0DE2DF00BB2784 /* NSImage+Compatibility.m */; };
3237F9E920161AE000A88143 /* NSImage+Compatibility.m in Sources */ = {isa = PBXBuildFile; fileRef = 4397D2F51D0DE2DF00BB2784 /* NSImage+Compatibility.m */; };
3237F9EA20161AE000A88143 /* NSImage+Compatibility.m in Sources */ = {isa = PBXBuildFile; fileRef = 4397D2F51D0DE2DF00BB2784 /* NSImage+Compatibility.m */; };
3237F9EB20161AE000A88143 /* NSImage+Compatibility.m in Sources */ = {isa = PBXBuildFile; fileRef = 4397D2F51D0DE2DF00BB2784 /* NSImage+Compatibility.m */; };
3237F9EC20161AE000A88143 /* NSImage+Compatibility.m in Sources */ = {isa = PBXBuildFile; fileRef = 4397D2F51D0DE2DF00BB2784 /* NSImage+Compatibility.m */; };
2017-12-21 11:43:46 +08:00
3248475D201775F600AF9E5A /* SDAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 32484757201775F600AF9E5A /* SDAnimatedImageView.m */; };
3248475E201775F600AF9E5A /* SDAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 32484757201775F600AF9E5A /* SDAnimatedImageView.m */; };
3248475F201775F600AF9E5A /* SDAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 32484757201775F600AF9E5A /* SDAnimatedImageView.m */; };
32484760201775F600AF9E5A /* SDAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 32484757201775F600AF9E5A /* SDAnimatedImageView.m */; };
32484761201775F600AF9E5A /* SDAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 32484757201775F600AF9E5A /* SDAnimatedImageView.m */; };
32484762201775F600AF9E5A /* SDAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 32484757201775F600AF9E5A /* SDAnimatedImageView.m */; };
32484763201775F600AF9E5A /* SDAnimatedImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 32484758201775F600AF9E5A /* SDAnimatedImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
32484764201775F600AF9E5A /* SDAnimatedImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 32484758201775F600AF9E5A /* SDAnimatedImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
32484765201775F600AF9E5A /* SDAnimatedImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 32484758201775F600AF9E5A /* SDAnimatedImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
32484766201775F600AF9E5A /* SDAnimatedImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 32484758201775F600AF9E5A /* SDAnimatedImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
32484767201775F600AF9E5A /* SDAnimatedImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 32484758201775F600AF9E5A /* SDAnimatedImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
32484768201775F600AF9E5A /* SDAnimatedImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 32484758201775F600AF9E5A /* SDAnimatedImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
32484769201775F600AF9E5A /* SDAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 32484759201775F600AF9E5A /* SDAnimatedImageView.h */; settings = {ATTRIBUTES = (Public, ); }; };
3248476A201775F600AF9E5A /* SDAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 32484759201775F600AF9E5A /* SDAnimatedImageView.h */; settings = {ATTRIBUTES = (Public, ); }; };
3248476B201775F600AF9E5A /* SDAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 32484759201775F600AF9E5A /* SDAnimatedImageView.h */; settings = {ATTRIBUTES = (Public, ); }; };
3248476C201775F600AF9E5A /* SDAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 32484759201775F600AF9E5A /* SDAnimatedImageView.h */; settings = {ATTRIBUTES = (Public, ); }; };
3248476D201775F600AF9E5A /* SDAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 32484759201775F600AF9E5A /* SDAnimatedImageView.h */; settings = {ATTRIBUTES = (Public, ); }; };
3248476E201775F600AF9E5A /* SDAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 32484759201775F600AF9E5A /* SDAnimatedImageView.h */; settings = {ATTRIBUTES = (Public, ); }; };
3248476F201775F600AF9E5A /* SDAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 3248475A201775F600AF9E5A /* SDAnimatedImage.m */; };
32484770201775F600AF9E5A /* SDAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 3248475A201775F600AF9E5A /* SDAnimatedImage.m */; };
32484771201775F600AF9E5A /* SDAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 3248475A201775F600AF9E5A /* SDAnimatedImage.m */; };
32484772201775F600AF9E5A /* SDAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 3248475A201775F600AF9E5A /* SDAnimatedImage.m */; };
32484773201775F600AF9E5A /* SDAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 3248475A201775F600AF9E5A /* SDAnimatedImage.m */; };
32484774201775F600AF9E5A /* SDAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 3248475A201775F600AF9E5A /* SDAnimatedImage.m */; };
32484775201775F600AF9E5A /* SDAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3248475B201775F600AF9E5A /* SDAnimatedImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
32484776201775F600AF9E5A /* SDAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3248475B201775F600AF9E5A /* SDAnimatedImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
32484777201775F600AF9E5A /* SDAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3248475B201775F600AF9E5A /* SDAnimatedImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
32484778201775F600AF9E5A /* SDAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3248475B201775F600AF9E5A /* SDAnimatedImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
32484779201775F600AF9E5A /* SDAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3248475B201775F600AF9E5A /* SDAnimatedImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
3248477A201775F600AF9E5A /* SDAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3248475B201775F600AF9E5A /* SDAnimatedImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
3248477B201775F600AF9E5A /* SDAnimatedImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 3248475C201775F600AF9E5A /* SDAnimatedImageView+WebCache.m */; };
3248477C201775F600AF9E5A /* SDAnimatedImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 3248475C201775F600AF9E5A /* SDAnimatedImageView+WebCache.m */; };
3248477D201775F600AF9E5A /* SDAnimatedImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 3248475C201775F600AF9E5A /* SDAnimatedImageView+WebCache.m */; };
3248477E201775F600AF9E5A /* SDAnimatedImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 3248475C201775F600AF9E5A /* SDAnimatedImageView+WebCache.m */; };
3248477F201775F600AF9E5A /* SDAnimatedImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 3248475C201775F600AF9E5A /* SDAnimatedImageView+WebCache.m */; };
32484780201775F600AF9E5A /* SDAnimatedImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 3248475C201775F600AF9E5A /* SDAnimatedImageView+WebCache.m */; };
2018-01-13 18:42:15 +08:00
324DF4B4200A14DC008A84CC /* SDWebImageDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 324DF4B2200A14DC008A84CC /* SDWebImageDefine.h */; settings = {ATTRIBUTES = (Public, ); }; };
324DF4B5200A14DC008A84CC /* SDWebImageDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 324DF4B2200A14DC008A84CC /* SDWebImageDefine.h */; settings = {ATTRIBUTES = (Public, ); }; };
324DF4B6200A14DC008A84CC /* SDWebImageDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 324DF4B2200A14DC008A84CC /* SDWebImageDefine.h */; settings = {ATTRIBUTES = (Public, ); }; };
324DF4B7200A14DC008A84CC /* SDWebImageDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 324DF4B2200A14DC008A84CC /* SDWebImageDefine.h */; settings = {ATTRIBUTES = (Public, ); }; };
324DF4B8200A14DC008A84CC /* SDWebImageDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 324DF4B2200A14DC008A84CC /* SDWebImageDefine.h */; settings = {ATTRIBUTES = (Public, ); }; };
324DF4B9200A14DC008A84CC /* SDWebImageDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 324DF4B2200A14DC008A84CC /* SDWebImageDefine.h */; settings = {ATTRIBUTES = (Public, ); }; };
324DF4BA200A14DC008A84CC /* SDWebImageDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 324DF4B3200A14DC008A84CC /* SDWebImageDefine.m */; };
324DF4BB200A14DC008A84CC /* SDWebImageDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 324DF4B3200A14DC008A84CC /* SDWebImageDefine.m */; };
324DF4BC200A14DC008A84CC /* SDWebImageDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 324DF4B3200A14DC008A84CC /* SDWebImageDefine.m */; };
324DF4BD200A14DC008A84CC /* SDWebImageDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 324DF4B3200A14DC008A84CC /* SDWebImageDefine.m */; };
324DF4BE200A14DC008A84CC /* SDWebImageDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 324DF4B3200A14DC008A84CC /* SDWebImageDefine.m */; };
324DF4BF200A14DC008A84CC /* SDWebImageDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 324DF4B3200A14DC008A84CC /* SDWebImageDefine.m */; };
2018-01-17 15:20:38 +08:00
325312C8200F09910046BF1E /* SDWebImageTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = 325312C6200F09910046BF1E /* SDWebImageTransition.h */; settings = {ATTRIBUTES = (Public, ); }; };
325312C9200F09910046BF1E /* SDWebImageTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = 325312C6200F09910046BF1E /* SDWebImageTransition.h */; settings = {ATTRIBUTES = (Public, ); }; };
325312CA200F09910046BF1E /* SDWebImageTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = 325312C6200F09910046BF1E /* SDWebImageTransition.h */; settings = {ATTRIBUTES = (Public, ); }; };
325312CB200F09910046BF1E /* SDWebImageTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = 325312C6200F09910046BF1E /* SDWebImageTransition.h */; settings = {ATTRIBUTES = (Public, ); }; };
325312CC200F09910046BF1E /* SDWebImageTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = 325312C6200F09910046BF1E /* SDWebImageTransition.h */; settings = {ATTRIBUTES = (Public, ); }; };
325312CD200F09910046BF1E /* SDWebImageTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = 325312C6200F09910046BF1E /* SDWebImageTransition.h */; settings = {ATTRIBUTES = (Public, ); }; };
325312CE200F09910046BF1E /* SDWebImageTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 325312C7200F09910046BF1E /* SDWebImageTransition.m */; };
325312CF200F09910046BF1E /* SDWebImageTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 325312C7200F09910046BF1E /* SDWebImageTransition.m */; };
325312D0200F09910046BF1E /* SDWebImageTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 325312C7200F09910046BF1E /* SDWebImageTransition.m */; };
325312D1200F09910046BF1E /* SDWebImageTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 325312C7200F09910046BF1E /* SDWebImageTransition.m */; };
325312D2200F09910046BF1E /* SDWebImageTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 325312C7200F09910046BF1E /* SDWebImageTransition.m */; };
325312D3200F09910046BF1E /* SDWebImageTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 325312C7200F09910046BF1E /* SDWebImageTransition.m */; };
2018-04-26 22:51:50 +08:00
327054D4206CD8B3006EA328 /* SDImageAPNGCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 327054D2206CD8B3006EA328 /* SDImageAPNGCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
327054D5206CD8B3006EA328 /* SDImageAPNGCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 327054D2206CD8B3006EA328 /* SDImageAPNGCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
327054D6206CD8B3006EA328 /* SDImageAPNGCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 327054D2206CD8B3006EA328 /* SDImageAPNGCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
327054D7206CD8B3006EA328 /* SDImageAPNGCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 327054D2206CD8B3006EA328 /* SDImageAPNGCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
327054D8206CD8B3006EA328 /* SDImageAPNGCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 327054D2206CD8B3006EA328 /* SDImageAPNGCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
327054D9206CD8B3006EA328 /* SDImageAPNGCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 327054D2206CD8B3006EA328 /* SDImageAPNGCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
327054DA206CD8B3006EA328 /* SDImageAPNGCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 327054D3206CD8B3006EA328 /* SDImageAPNGCoder.m */; };
327054DB206CD8B3006EA328 /* SDImageAPNGCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 327054D3206CD8B3006EA328 /* SDImageAPNGCoder.m */; };
327054DC206CD8B3006EA328 /* SDImageAPNGCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 327054D3206CD8B3006EA328 /* SDImageAPNGCoder.m */; };
327054DD206CD8B3006EA328 /* SDImageAPNGCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 327054D3206CD8B3006EA328 /* SDImageAPNGCoder.m */; };
327054DE206CD8B3006EA328 /* SDImageAPNGCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 327054D3206CD8B3006EA328 /* SDImageAPNGCoder.m */; };
327054DF206CD8B3006EA328 /* SDImageAPNGCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 327054D3206CD8B3006EA328 /* SDImageAPNGCoder.m */; };
2018-04-14 18:18:45 +08:00
328BB69C2081FED200760D6C /* SDWebImageCacheKeyFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB69A2081FED200760D6C /* SDWebImageCacheKeyFilter.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB69D2081FED200760D6C /* SDWebImageCacheKeyFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB69A2081FED200760D6C /* SDWebImageCacheKeyFilter.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB69E2081FED200760D6C /* SDWebImageCacheKeyFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB69A2081FED200760D6C /* SDWebImageCacheKeyFilter.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB69F2081FED200760D6C /* SDWebImageCacheKeyFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB69A2081FED200760D6C /* SDWebImageCacheKeyFilter.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6A02081FED200760D6C /* SDWebImageCacheKeyFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB69A2081FED200760D6C /* SDWebImageCacheKeyFilter.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6A12081FED200760D6C /* SDWebImageCacheKeyFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB69A2081FED200760D6C /* SDWebImageCacheKeyFilter.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6A22081FED200760D6C /* SDWebImageCacheKeyFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB69B2081FED200760D6C /* SDWebImageCacheKeyFilter.m */; };
328BB6A32081FED200760D6C /* SDWebImageCacheKeyFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB69B2081FED200760D6C /* SDWebImageCacheKeyFilter.m */; };
328BB6A42081FED200760D6C /* SDWebImageCacheKeyFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB69B2081FED200760D6C /* SDWebImageCacheKeyFilter.m */; };
328BB6A52081FED200760D6C /* SDWebImageCacheKeyFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB69B2081FED200760D6C /* SDWebImageCacheKeyFilter.m */; };
328BB6A62081FED200760D6C /* SDWebImageCacheKeyFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB69B2081FED200760D6C /* SDWebImageCacheKeyFilter.m */; };
328BB6A72081FED200760D6C /* SDWebImageCacheKeyFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB69B2081FED200760D6C /* SDWebImageCacheKeyFilter.m */; };
328BB6AA2081FEE500760D6C /* SDWebImageCacheSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6A82081FEE500760D6C /* SDWebImageCacheSerializer.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6AB2081FEE500760D6C /* SDWebImageCacheSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6A82081FEE500760D6C /* SDWebImageCacheSerializer.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6AC2081FEE500760D6C /* SDWebImageCacheSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6A82081FEE500760D6C /* SDWebImageCacheSerializer.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6AD2081FEE500760D6C /* SDWebImageCacheSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6A82081FEE500760D6C /* SDWebImageCacheSerializer.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6AE2081FEE500760D6C /* SDWebImageCacheSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6A82081FEE500760D6C /* SDWebImageCacheSerializer.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6AF2081FEE500760D6C /* SDWebImageCacheSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6A82081FEE500760D6C /* SDWebImageCacheSerializer.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6B02081FEE500760D6C /* SDWebImageCacheSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6A92081FEE500760D6C /* SDWebImageCacheSerializer.m */; };
328BB6B12081FEE500760D6C /* SDWebImageCacheSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6A92081FEE500760D6C /* SDWebImageCacheSerializer.m */; };
328BB6B22081FEE500760D6C /* SDWebImageCacheSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6A92081FEE500760D6C /* SDWebImageCacheSerializer.m */; };
328BB6B32081FEE500760D6C /* SDWebImageCacheSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6A92081FEE500760D6C /* SDWebImageCacheSerializer.m */; };
328BB6B42081FEE500760D6C /* SDWebImageCacheSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6A92081FEE500760D6C /* SDWebImageCacheSerializer.m */; };
328BB6B52081FEE500760D6C /* SDWebImageCacheSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6A92081FEE500760D6C /* SDWebImageCacheSerializer.m */; };
2018-04-15 00:05:09 +08:00
328BB6C12082581100760D6C /* SDDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6BD2082581100760D6C /* SDDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6C22082581100760D6C /* SDDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6BD2082581100760D6C /* SDDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6C32082581100760D6C /* SDDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6BD2082581100760D6C /* SDDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6C42082581100760D6C /* SDDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6BD2082581100760D6C /* SDDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6C52082581100760D6C /* SDDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6BD2082581100760D6C /* SDDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6C62082581100760D6C /* SDDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6BD2082581100760D6C /* SDDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6C72082581100760D6C /* SDDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6BE2082581100760D6C /* SDDiskCache.m */; };
328BB6C82082581100760D6C /* SDDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6BE2082581100760D6C /* SDDiskCache.m */; };
328BB6C92082581100760D6C /* SDDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6BE2082581100760D6C /* SDDiskCache.m */; };
328BB6CA2082581100760D6C /* SDDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6BE2082581100760D6C /* SDDiskCache.m */; };
328BB6CB2082581100760D6C /* SDDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6BE2082581100760D6C /* SDDiskCache.m */; };
328BB6CC2082581100760D6C /* SDDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6BE2082581100760D6C /* SDDiskCache.m */; };
328BB6CD2082581100760D6C /* SDMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6BF2082581100760D6C /* SDMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6CE2082581100760D6C /* SDMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6BF2082581100760D6C /* SDMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6CF2082581100760D6C /* SDMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6BF2082581100760D6C /* SDMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6D02082581100760D6C /* SDMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6BF2082581100760D6C /* SDMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6D12082581100760D6C /* SDMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6BF2082581100760D6C /* SDMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6D22082581100760D6C /* SDMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6BF2082581100760D6C /* SDMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6D32082581100760D6C /* SDMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6C02082581100760D6C /* SDMemoryCache.m */; };
328BB6D42082581100760D6C /* SDMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6C02082581100760D6C /* SDMemoryCache.m */; };
328BB6D52082581100760D6C /* SDMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6C02082581100760D6C /* SDMemoryCache.m */; };
328BB6D62082581100760D6C /* SDMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6C02082581100760D6C /* SDMemoryCache.m */; };
328BB6D72082581100760D6C /* SDMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6C02082581100760D6C /* SDMemoryCache.m */; };
328BB6D82082581100760D6C /* SDMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6C02082581100760D6C /* SDMemoryCache.m */; };
2018-04-26 22:13:28 +08:00
3290FA041FA478AF0047D20C /* SDImageFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 3290FA021FA478AF0047D20C /* SDImageFrame.h */; settings = {ATTRIBUTES = (Public, ); }; };
3290FA051FA478AF0047D20C /* SDImageFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 3290FA021FA478AF0047D20C /* SDImageFrame.h */; settings = {ATTRIBUTES = (Public, ); }; };
3290FA061FA478AF0047D20C /* SDImageFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 3290FA021FA478AF0047D20C /* SDImageFrame.h */; settings = {ATTRIBUTES = (Public, ); }; };
3290FA071FA478AF0047D20C /* SDImageFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 3290FA021FA478AF0047D20C /* SDImageFrame.h */; settings = {ATTRIBUTES = (Public, ); }; };
3290FA081FA478AF0047D20C /* SDImageFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 3290FA021FA478AF0047D20C /* SDImageFrame.h */; settings = {ATTRIBUTES = (Public, ); }; };
3290FA091FA478AF0047D20C /* SDImageFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 3290FA021FA478AF0047D20C /* SDImageFrame.h */; settings = {ATTRIBUTES = (Public, ); }; };
3290FA0A1FA478AF0047D20C /* SDImageFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 3290FA031FA478AF0047D20C /* SDImageFrame.m */; };
3290FA0B1FA478AF0047D20C /* SDImageFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 3290FA031FA478AF0047D20C /* SDImageFrame.m */; };
3290FA0C1FA478AF0047D20C /* SDImageFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 3290FA031FA478AF0047D20C /* SDImageFrame.m */; };
3290FA0D1FA478AF0047D20C /* SDImageFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 3290FA031FA478AF0047D20C /* SDImageFrame.m */; };
3290FA0E1FA478AF0047D20C /* SDImageFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 3290FA031FA478AF0047D20C /* SDImageFrame.m */; };
3290FA0F1FA478AF0047D20C /* SDImageFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 3290FA031FA478AF0047D20C /* SDImageFrame.m */; };
2018-06-25 13:52:46 +08:00
329A18591FFF5DFD008C9A2F /* UIImage+Metadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 329A18571FFF5DFD008C9A2F /* UIImage+Metadata.h */; settings = {ATTRIBUTES = (Public, ); }; };
329A185A1FFF5DFD008C9A2F /* UIImage+Metadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 329A18571FFF5DFD008C9A2F /* UIImage+Metadata.h */; settings = {ATTRIBUTES = (Public, ); }; };
329A185B1FFF5DFD008C9A2F /* UIImage+Metadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 329A18571FFF5DFD008C9A2F /* UIImage+Metadata.h */; settings = {ATTRIBUTES = (Public, ); }; };
329A185C1FFF5DFD008C9A2F /* UIImage+Metadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 329A18571FFF5DFD008C9A2F /* UIImage+Metadata.h */; settings = {ATTRIBUTES = (Public, ); }; };
329A185D1FFF5DFD008C9A2F /* UIImage+Metadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 329A18571FFF5DFD008C9A2F /* UIImage+Metadata.h */; settings = {ATTRIBUTES = (Public, ); }; };
329A185E1FFF5DFD008C9A2F /* UIImage+Metadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 329A18571FFF5DFD008C9A2F /* UIImage+Metadata.h */; settings = {ATTRIBUTES = (Public, ); }; };
329A185F1FFF5DFD008C9A2F /* UIImage+Metadata.m in Sources */ = {isa = PBXBuildFile; fileRef = 329A18581FFF5DFD008C9A2F /* UIImage+Metadata.m */; };
329A18601FFF5DFD008C9A2F /* UIImage+Metadata.m in Sources */ = {isa = PBXBuildFile; fileRef = 329A18581FFF5DFD008C9A2F /* UIImage+Metadata.m */; };
329A18611FFF5DFD008C9A2F /* UIImage+Metadata.m in Sources */ = {isa = PBXBuildFile; fileRef = 329A18581FFF5DFD008C9A2F /* UIImage+Metadata.m */; };
329A18621FFF5DFD008C9A2F /* UIImage+Metadata.m in Sources */ = {isa = PBXBuildFile; fileRef = 329A18581FFF5DFD008C9A2F /* UIImage+Metadata.m */; };
329A18631FFF5DFD008C9A2F /* UIImage+Metadata.m in Sources */ = {isa = PBXBuildFile; fileRef = 329A18581FFF5DFD008C9A2F /* UIImage+Metadata.m */; };
329A18641FFF5DFD008C9A2F /* UIImage+Metadata.m in Sources */ = {isa = PBXBuildFile; fileRef = 329A18581FFF5DFD008C9A2F /* UIImage+Metadata.m */; };
2018-03-31 05:34:10 +08:00
32B9B537206ED4230026769D /* SDWebImageDownloaderConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 32B9B535206ED4230026769D /* SDWebImageDownloaderConfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
32B9B538206ED4230026769D /* SDWebImageDownloaderConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 32B9B535206ED4230026769D /* SDWebImageDownloaderConfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
32B9B539206ED4230026769D /* SDWebImageDownloaderConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 32B9B535206ED4230026769D /* SDWebImageDownloaderConfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
32B9B53A206ED4230026769D /* SDWebImageDownloaderConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 32B9B535206ED4230026769D /* SDWebImageDownloaderConfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
32B9B53B206ED4230026769D /* SDWebImageDownloaderConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 32B9B535206ED4230026769D /* SDWebImageDownloaderConfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
32B9B53C206ED4230026769D /* SDWebImageDownloaderConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 32B9B535206ED4230026769D /* SDWebImageDownloaderConfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
32B9B53D206ED4230026769D /* SDWebImageDownloaderConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B9B536206ED4230026769D /* SDWebImageDownloaderConfig.m */; };
32B9B53E206ED4230026769D /* SDWebImageDownloaderConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B9B536206ED4230026769D /* SDWebImageDownloaderConfig.m */; };
32B9B53F206ED4230026769D /* SDWebImageDownloaderConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B9B536206ED4230026769D /* SDWebImageDownloaderConfig.m */; };
32B9B540206ED4230026769D /* SDWebImageDownloaderConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B9B536206ED4230026769D /* SDWebImageDownloaderConfig.m */; };
32B9B541206ED4230026769D /* SDWebImageDownloaderConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B9B536206ED4230026769D /* SDWebImageDownloaderConfig.m */; };
32B9B542206ED4230026769D /* SDWebImageDownloaderConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B9B536206ED4230026769D /* SDWebImageDownloaderConfig.m */; };
2018-01-20 23:40:16 +08:00
32C0FDE12013426C001B8F2D /* SDWebImageIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 32C0FDDF2013426C001B8F2D /* SDWebImageIndicator.h */; settings = {ATTRIBUTES = (Public, ); }; };
32C0FDE22013426C001B8F2D /* SDWebImageIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 32C0FDDF2013426C001B8F2D /* SDWebImageIndicator.h */; settings = {ATTRIBUTES = (Public, ); }; };
32C0FDE32013426C001B8F2D /* SDWebImageIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 32C0FDDF2013426C001B8F2D /* SDWebImageIndicator.h */; settings = {ATTRIBUTES = (Public, ); }; };
32C0FDE42013426C001B8F2D /* SDWebImageIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 32C0FDDF2013426C001B8F2D /* SDWebImageIndicator.h */; settings = {ATTRIBUTES = (Public, ); }; };
32C0FDE52013426C001B8F2D /* SDWebImageIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 32C0FDDF2013426C001B8F2D /* SDWebImageIndicator.h */; settings = {ATTRIBUTES = (Public, ); }; };
32C0FDE62013426C001B8F2D /* SDWebImageIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 32C0FDDF2013426C001B8F2D /* SDWebImageIndicator.h */; settings = {ATTRIBUTES = (Public, ); }; };
32C0FDE72013426C001B8F2D /* SDWebImageIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 32C0FDE02013426C001B8F2D /* SDWebImageIndicator.m */; };
32C0FDE82013426C001B8F2D /* SDWebImageIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 32C0FDE02013426C001B8F2D /* SDWebImageIndicator.m */; };
32C0FDE92013426C001B8F2D /* SDWebImageIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 32C0FDE02013426C001B8F2D /* SDWebImageIndicator.m */; };
32C0FDEA2013426C001B8F2D /* SDWebImageIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 32C0FDE02013426C001B8F2D /* SDWebImageIndicator.m */; };
32C0FDEB2013426C001B8F2D /* SDWebImageIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 32C0FDE02013426C001B8F2D /* SDWebImageIndicator.m */; };
32C0FDEC2013426C001B8F2D /* SDWebImageIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 32C0FDE02013426C001B8F2D /* SDWebImageIndicator.m */; };
2018-04-26 22:13:28 +08:00
32CF1C071FA496B000004BD1 /* SDImageCoderHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 32CF1C051FA496B000004BD1 /* SDImageCoderHelper.h */; settings = {ATTRIBUTES = (Public, ); }; };
32CF1C081FA496B000004BD1 /* SDImageCoderHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 32CF1C051FA496B000004BD1 /* SDImageCoderHelper.h */; settings = {ATTRIBUTES = (Public, ); }; };
32CF1C091FA496B000004BD1 /* SDImageCoderHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 32CF1C051FA496B000004BD1 /* SDImageCoderHelper.h */; settings = {ATTRIBUTES = (Public, ); }; };
32CF1C0A1FA496B000004BD1 /* SDImageCoderHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 32CF1C051FA496B000004BD1 /* SDImageCoderHelper.h */; settings = {ATTRIBUTES = (Public, ); }; };
32CF1C0B1FA496B000004BD1 /* SDImageCoderHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 32CF1C051FA496B000004BD1 /* SDImageCoderHelper.h */; settings = {ATTRIBUTES = (Public, ); }; };
32CF1C0C1FA496B000004BD1 /* SDImageCoderHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 32CF1C051FA496B000004BD1 /* SDImageCoderHelper.h */; settings = {ATTRIBUTES = (Public, ); }; };
32CF1C0D1FA496B000004BD1 /* SDImageCoderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 32CF1C061FA496B000004BD1 /* SDImageCoderHelper.m */; };
32CF1C0E1FA496B000004BD1 /* SDImageCoderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 32CF1C061FA496B000004BD1 /* SDImageCoderHelper.m */; };
32CF1C0F1FA496B000004BD1 /* SDImageCoderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 32CF1C061FA496B000004BD1 /* SDImageCoderHelper.m */; };
32CF1C101FA496B000004BD1 /* SDImageCoderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 32CF1C061FA496B000004BD1 /* SDImageCoderHelper.m */; };
32CF1C111FA496B000004BD1 /* SDImageCoderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 32CF1C061FA496B000004BD1 /* SDImageCoderHelper.m */; };
32CF1C121FA496B000004BD1 /* SDImageCoderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 32CF1C061FA496B000004BD1 /* SDImageCoderHelper.m */; };
2018-04-18 19:16:45 +08:00
32D1221E2080B2EB003685A3 /* SDImageCacheDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 32D1221A2080B2EB003685A3 /* SDImageCacheDefine.h */; settings = {ATTRIBUTES = (Public, ); }; };
32D1221F2080B2EB003685A3 /* SDImageCacheDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 32D1221A2080B2EB003685A3 /* SDImageCacheDefine.h */; settings = {ATTRIBUTES = (Public, ); }; };
32D122202080B2EB003685A3 /* SDImageCacheDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 32D1221A2080B2EB003685A3 /* SDImageCacheDefine.h */; settings = {ATTRIBUTES = (Public, ); }; };
32D122212080B2EB003685A3 /* SDImageCacheDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 32D1221A2080B2EB003685A3 /* SDImageCacheDefine.h */; settings = {ATTRIBUTES = (Public, ); }; };
32D122222080B2EB003685A3 /* SDImageCacheDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 32D1221A2080B2EB003685A3 /* SDImageCacheDefine.h */; settings = {ATTRIBUTES = (Public, ); }; };
32D122232080B2EB003685A3 /* SDImageCacheDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 32D1221A2080B2EB003685A3 /* SDImageCacheDefine.h */; settings = {ATTRIBUTES = (Public, ); }; };
32D122242080B2EB003685A3 /* SDImageCacheDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 32D1221B2080B2EB003685A3 /* SDImageCacheDefine.m */; };
32D122252080B2EB003685A3 /* SDImageCacheDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 32D1221B2080B2EB003685A3 /* SDImageCacheDefine.m */; };
32D122262080B2EB003685A3 /* SDImageCacheDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 32D1221B2080B2EB003685A3 /* SDImageCacheDefine.m */; };
32D122272080B2EB003685A3 /* SDImageCacheDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 32D1221B2080B2EB003685A3 /* SDImageCacheDefine.m */; };
32D122282080B2EB003685A3 /* SDImageCacheDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 32D1221B2080B2EB003685A3 /* SDImageCacheDefine.m */; };
32D122292080B2EB003685A3 /* SDImageCacheDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 32D1221B2080B2EB003685A3 /* SDImageCacheDefine.m */; };
2018-04-18 19:05:10 +08:00
32D1222A2080B2EB003685A3 /* SDImageCachesManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 32D1221C2080B2EB003685A3 /* SDImageCachesManager.m */; };
32D1222B2080B2EB003685A3 /* SDImageCachesManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 32D1221C2080B2EB003685A3 /* SDImageCachesManager.m */; };
32D1222C2080B2EB003685A3 /* SDImageCachesManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 32D1221C2080B2EB003685A3 /* SDImageCachesManager.m */; };
32D1222D2080B2EB003685A3 /* SDImageCachesManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 32D1221C2080B2EB003685A3 /* SDImageCachesManager.m */; };
32D1222E2080B2EB003685A3 /* SDImageCachesManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 32D1221C2080B2EB003685A3 /* SDImageCachesManager.m */; };
32D1222F2080B2EB003685A3 /* SDImageCachesManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 32D1221C2080B2EB003685A3 /* SDImageCachesManager.m */; };
32D122302080B2EB003685A3 /* SDImageCachesManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 32D1221D2080B2EB003685A3 /* SDImageCachesManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
32D122312080B2EB003685A3 /* SDImageCachesManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 32D1221D2080B2EB003685A3 /* SDImageCachesManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
32D122322080B2EB003685A3 /* SDImageCachesManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 32D1221D2080B2EB003685A3 /* SDImageCachesManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
32D122332080B2EB003685A3 /* SDImageCachesManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 32D1221D2080B2EB003685A3 /* SDImageCachesManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
32D122342080B2EB003685A3 /* SDImageCachesManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 32D1221D2080B2EB003685A3 /* SDImageCachesManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
32D122352080B2EB003685A3 /* SDImageCachesManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 32D1221D2080B2EB003685A3 /* SDImageCachesManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
2018-03-29 20:28:50 +08:00
32EB6D8E206D132E005CAEF6 /* SDAnimatedImageRep.m in Sources */ = {isa = PBXBuildFile; fileRef = 320224BA203979BA00E9F285 /* SDAnimatedImageRep.m */; };
32EB6D8F206D132E005CAEF6 /* SDAnimatedImageRep.m in Sources */ = {isa = PBXBuildFile; fileRef = 320224BA203979BA00E9F285 /* SDAnimatedImageRep.m */; };
32EB6D90206D132E005CAEF6 /* SDAnimatedImageRep.m in Sources */ = {isa = PBXBuildFile; fileRef = 320224BA203979BA00E9F285 /* SDAnimatedImageRep.m */; };
32EB6D91206D132E005CAEF6 /* SDAnimatedImageRep.m in Sources */ = {isa = PBXBuildFile; fileRef = 320224BA203979BA00E9F285 /* SDAnimatedImageRep.m */; };
32EB6D92206D132E005CAEF6 /* SDAnimatedImageRep.m in Sources */ = {isa = PBXBuildFile; fileRef = 320224BA203979BA00E9F285 /* SDAnimatedImageRep.m */; };
2018-04-07 13:47:54 +08:00
32F21B5120788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F21B4F20788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F21B5220788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F21B4F20788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F21B5320788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F21B4F20788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F21B5420788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F21B4F20788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F21B5520788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F21B4F20788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F21B5620788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F21B4F20788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F21B5720788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F21B5020788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m */; };
32F21B5820788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F21B5020788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m */; };
32F21B5920788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F21B5020788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m */; };
32F21B5A20788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F21B5020788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m */; };
32F21B5B20788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F21B5020788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m */; };
32F21B5C20788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F21B5020788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m */; };
2018-04-26 21:30:44 +08:00
32F7C06F2030114C00873181 /* SDImageTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F7C06D2030114C00873181 /* SDImageTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F7C0702030114C00873181 /* SDImageTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F7C06D2030114C00873181 /* SDImageTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F7C0712030114C00873181 /* SDImageTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F7C06D2030114C00873181 /* SDImageTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F7C0722030114C00873181 /* SDImageTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F7C06D2030114C00873181 /* SDImageTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F7C0732030114C00873181 /* SDImageTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F7C06D2030114C00873181 /* SDImageTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F7C0742030114C00873181 /* SDImageTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F7C06D2030114C00873181 /* SDImageTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F7C0752030114C00873181 /* SDImageTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F7C06E2030114C00873181 /* SDImageTransformer.m */; };
32F7C0762030114C00873181 /* SDImageTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F7C06E2030114C00873181 /* SDImageTransformer.m */; };
32F7C0772030114C00873181 /* SDImageTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F7C06E2030114C00873181 /* SDImageTransformer.m */; };
32F7C0782030114C00873181 /* SDImageTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F7C06E2030114C00873181 /* SDImageTransformer.m */; };
32F7C0792030114C00873181 /* SDImageTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F7C06E2030114C00873181 /* SDImageTransformer.m */; };
32F7C07A2030114C00873181 /* SDImageTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F7C06E2030114C00873181 /* SDImageTransformer.m */; };
2018-02-11 23:36:58 +08:00
32F7C07E2030719600873181 /* UIImage+Transform.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F7C07C2030719600873181 /* UIImage+Transform.m */; };
32F7C07F2030719600873181 /* UIImage+Transform.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F7C07C2030719600873181 /* UIImage+Transform.m */; };
32F7C0802030719600873181 /* UIImage+Transform.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F7C07C2030719600873181 /* UIImage+Transform.m */; };
32F7C0812030719600873181 /* UIImage+Transform.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F7C07C2030719600873181 /* UIImage+Transform.m */; };
32F7C0822030719600873181 /* UIImage+Transform.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F7C07C2030719600873181 /* UIImage+Transform.m */; };
32F7C0832030719600873181 /* UIImage+Transform.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F7C07C2030719600873181 /* UIImage+Transform.m */; };
2018-02-13 18:30:25 +08:00
32F7C0842030719600873181 /* UIImage+Transform.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F7C07D2030719600873181 /* UIImage+Transform.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F7C0852030719600873181 /* UIImage+Transform.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F7C07D2030719600873181 /* UIImage+Transform.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F7C0862030719600873181 /* UIImage+Transform.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F7C07D2030719600873181 /* UIImage+Transform.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F7C0872030719600873181 /* UIImage+Transform.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F7C07D2030719600873181 /* UIImage+Transform.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F7C0882030719600873181 /* UIImage+Transform.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F7C07D2030719600873181 /* UIImage+Transform.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F7C0892030719600873181 /* UIImage+Transform.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F7C07D2030719600873181 /* UIImage+Transform.h */; settings = {ATTRIBUTES = (Public, ); }; };
2018-04-19 16:22:47 +08:00
32FDE87C2088871B008D7530 /* MKAnnotationView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 32FDE87A2088871B008D7530 /* MKAnnotationView+WebCache.m */; };
32FDE87D2088871B008D7530 /* MKAnnotationView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 32FDE87A2088871B008D7530 /* MKAnnotationView+WebCache.m */; };
32FDE87E2088871B008D7530 /* MKAnnotationView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 32FDE87A2088871B008D7530 /* MKAnnotationView+WebCache.m */; };
32FDE87F2088871B008D7530 /* MKAnnotationView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 32FDE87A2088871B008D7530 /* MKAnnotationView+WebCache.m */; };
32FDE8802088871B008D7530 /* MKAnnotationView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 32FDE87B2088871B008D7530 /* MKAnnotationView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
32FDE8812088871B008D7530 /* MKAnnotationView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 32FDE87B2088871B008D7530 /* MKAnnotationView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
32FDE8822088871B008D7530 /* MKAnnotationView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 32FDE87B2088871B008D7530 /* MKAnnotationView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
32FDE8832088871B008D7530 /* MKAnnotationView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 32FDE87B2088871B008D7530 /* MKAnnotationView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
32FDE8A220888789008D7530 /* SDWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A2CAE031AB4BB5400B6BC39 /* SDWebImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
32FDE8A320888789008D7530 /* SDWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A2CAE031AB4BB5400B6BC39 /* SDWebImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
2016-06-13 05:53:08 +08:00
4314D1231D0E0E3B004B36C9 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D86148C56230056699D /* SDImageCache.m */; };
4314D1311D0E0E3B004B36C9 /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D8C148C56230056699D /* SDWebImageDownloader.m */; };
4314D1361D0E0E3B004B36C9 /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D8F148C56230056699D /* SDWebImageManager.m */; };
4314D1371D0E0E3B004B36C9 /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D92148C56230056699D /* SDWebImagePrefetcher.m */; };
4314D13B1D0E0E3B004B36C9 /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D94148C56230056699D /* UIButton+WebCache.m */; };
4314D1401D0E0E3B004B36C9 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D96148C56230056699D /* UIImageView+WebCache.m */; };
4314D1411D0E0E3B004B36C9 /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 530E49E416460AE2002868E7 /* SDWebImageDownloaderOperation.m */; };
4314D14B1D0E0E3B004B36C9 /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = 5340674F167780C40042B59E /* SDWebImageCompat.m */; };
4314D14D1D0E0E3B004B36C9 /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = A18A6CC6172DC28500419892 /* UIImage+GIF.m */; };
4314D1501D0E0E3B004B36C9 /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = AB615302192DA24600A2D8E9 /* UIView+WebCacheOperation.m */; };
4314D1521D0E0E3B004B36C9 /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D5B9141188EE8DD006D06BD /* NSData+ImageContentType.m */; };
4314D1531D0E0E3B004B36C9 /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 53EDFB8917623F7C00698166 /* UIImage+MultiFormat.m */; };
4314D1551D0E0E3B004B36C9 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = ABBE71A618C43B4D00B75E91 /* UIImageView+HighlightedWebCache.m */; };
4314D15E1D0E0E3B004B36C9 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53FB894814D35E9E0020B787 /* UIKit.framework */; };
4314D15F1D0E0E3B004B36C9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53922D72148C55820056699D /* Foundation.framework */; };
4314D1601D0E0E3B004B36C9 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53FB893F14D35D1A0020B787 /* CoreGraphics.framework */; };
4314D16D1D0E0E3B004B36C9 /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D85148C56230056699D /* SDImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
4314D16F1D0E0E3B004B36C9 /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D5B9140188EE8DD006D06BD /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Public, ); }; };
2016-06-13 05:53:08 +08:00
4314D1721D0E0E3B004B36C9 /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D88148C56230056699D /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Public, ); }; };
4314D1781D0E0E3B004B36C9 /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D8B148C56230056699D /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Public, ); }; };
4314D1791D0E0E3B004B36C9 /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D8E148C56230056699D /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
4314D17D1D0E0E3B004B36C9 /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D91148C56230056699D /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Public, ); }; };
4314D17F1D0E0E3B004B36C9 /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D93148C56230056699D /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
4314D1811D0E0E3B004B36C9 /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D95148C56230056699D /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
4314D1841D0E0E3B004B36C9 /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 530E49E71646388E002868E7 /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
4314D1851D0E0E3B004B36C9 /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 530E49E316460AE2002868E7 /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
4314D1861D0E0E3B004B36C9 /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = ABBE71A518C43B4D00B75E91 /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
4314D18F1D0E0E3B004B36C9 /* UIView+WebCacheOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = AB615301192DA24600A2D8E9 /* UIView+WebCacheOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
4314D1901D0E0E3B004B36C9 /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = A18A6CC5172DC28500419892 /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Public, ); }; };
4314D1921D0E0E3B004B36C9 /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 53EDFB8817623F7C00698166 /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Public, ); }; };
2016-06-10 12:28:09 +08:00
431BB68C1D06D2C1006A3455 /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 530E49E416460AE2002868E7 /* SDWebImageDownloaderOperation.m */; };
431BB68E1D06D2C1006A3455 /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D92148C56230056699D /* SDWebImagePrefetcher.m */; };
431BB6921D06D2C1006A3455 /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D5B9141188EE8DD006D06BD /* NSData+ImageContentType.m */; };
431BB69A1D06D2C1006A3455 /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D8C148C56230056699D /* SDWebImageDownloader.m */; };
431BB6A31D06D2C1006A3455 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D96148C56230056699D /* UIImageView+WebCache.m */; };
431BB6AA1D06D2C1006A3455 /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D8F148C56230056699D /* SDWebImageManager.m */; };
431BB6AC1D06D2C1006A3455 /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = 5340674F167780C40042B59E /* SDWebImageCompat.m */; };
431BB6B11D06D2C1006A3455 /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = AB615302192DA24600A2D8E9 /* UIView+WebCacheOperation.m */; };
431BB6B91D06D2C1006A3455 /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D94148C56230056699D /* UIButton+WebCache.m */; };
431BB6BD1D06D2C1006A3455 /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = A18A6CC6172DC28500419892 /* UIImage+GIF.m */; };
431BB6C01D06D2C1006A3455 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D86148C56230056699D /* SDImageCache.m */; };
431BB6C41D06D2C1006A3455 /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 53EDFB8917623F7C00698166 /* UIImage+MultiFormat.m */; };
431BB6C71D06D2C1006A3455 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = ABBE71A618C43B4D00B75E91 /* UIImageView+HighlightedWebCache.m */; };
431BB6D91D06D2C1006A3455 /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D8E148C56230056699D /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
431BB6DC1D06D2C1006A3455 /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D93148C56230056699D /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
431BB6E11D06D2C1006A3455 /* SDWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A2CAE031AB4BB5400B6BC39 /* SDWebImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
431BB6E21D06D2C1006A3455 /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = ABBE71A518C43B4D00B75E91 /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
431BB6E31D06D2C1006A3455 /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D85148C56230056699D /* SDImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
431BB6E61D06D2C1006A3455 /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D95148C56230056699D /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
431BB6E71D06D2C1006A3455 /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D88148C56230056699D /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Public, ); }; };
431BB6E91D06D2C1006A3455 /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 530E49E316460AE2002868E7 /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
431BB6EB1D06D2C1006A3455 /* UIView+WebCacheOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = AB615301192DA24600A2D8E9 /* UIView+WebCacheOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
431BB6EE1D06D2C1006A3455 /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D5B9140188EE8DD006D06BD /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Public, ); }; };
431BB6EF1D06D2C1006A3455 /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D91148C56230056699D /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Public, ); }; };
431BB6F01D06D2C1006A3455 /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 530E49E71646388E002868E7 /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
431BB6F61D06D2C1006A3455 /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 53EDFB8817623F7C00698166 /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Public, ); }; };
431BB6F91D06D2C1006A3455 /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = A18A6CC5172DC28500419892 /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Public, ); }; };
431BB6FA1D06D2C1006A3455 /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D8B148C56230056699D /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Public, ); }; };
2016-09-26 00:44:52 +08:00
4369C2771D9807EC007E863A /* UIView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 4369C2751D9807EC007E863A /* UIView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
4369C2781D9807EC007E863A /* UIView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 4369C2751D9807EC007E863A /* UIView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
4369C2791D9807EC007E863A /* UIView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 4369C2751D9807EC007E863A /* UIView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
4369C27A1D9807EC007E863A /* UIView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 4369C2751D9807EC007E863A /* UIView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
4369C27B1D9807EC007E863A /* UIView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 4369C2751D9807EC007E863A /* UIView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
4369C27C1D9807EC007E863A /* UIView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 4369C2751D9807EC007E863A /* UIView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
4369C27E1D9807EC007E863A /* UIView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4369C2761D9807EC007E863A /* UIView+WebCache.m */; };
4369C27F1D9807EC007E863A /* UIView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4369C2761D9807EC007E863A /* UIView+WebCache.m */; };
4369C2801D9807EC007E863A /* UIView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4369C2761D9807EC007E863A /* UIView+WebCache.m */; };
4369C2811D9807EC007E863A /* UIView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4369C2761D9807EC007E863A /* UIView+WebCache.m */; };
4369C2821D9807EC007E863A /* UIView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4369C2761D9807EC007E863A /* UIView+WebCache.m */; };
4369C2831D9807EC007E863A /* UIView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4369C2761D9807EC007E863A /* UIView+WebCache.m */; };
2016-06-13 04:23:53 +08:00
4397D27E1D0DDD8C00BB2784 /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = A18A6CC6172DC28500419892 /* UIImage+GIF.m */; };
4397D28C1D0DDD8C00BB2784 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D96148C56230056699D /* UIImageView+WebCache.m */; };
4397D28F1D0DDD8C00BB2784 /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 530E49E416460AE2002868E7 /* SDWebImageDownloaderOperation.m */; };
4397D2921D0DDD8C00BB2784 /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D92148C56230056699D /* SDWebImagePrefetcher.m */; };
4397D2961D0DDD8C00BB2784 /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 53EDFB8917623F7C00698166 /* UIImage+MultiFormat.m */; };
4397D29B1D0DDD8C00BB2784 /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D8C148C56230056699D /* SDWebImageDownloader.m */; };
4397D29C1D0DDD8C00BB2784 /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D5B9141188EE8DD006D06BD /* NSData+ImageContentType.m */; };
4397D2A11D0DDD8C00BB2784 /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D8F148C56230056699D /* SDWebImageManager.m */; };
4397D2A61D0DDD8C00BB2784 /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = 5340674F167780C40042B59E /* SDWebImageCompat.m */; };
4397D2A81D0DDD8C00BB2784 /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D94148C56230056699D /* UIButton+WebCache.m */; };
4397D2AB1D0DDD8C00BB2784 /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = AB615302192DA24600A2D8E9 /* UIView+WebCacheOperation.m */; };
4397D2AE1D0DDD8C00BB2784 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = ABBE71A618C43B4D00B75E91 /* UIImageView+HighlightedWebCache.m */; };
4397D2B01D0DDD8C00BB2784 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D86148C56230056699D /* SDImageCache.m */; };
4397D2C01D0DDD8C00BB2784 /* SDWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A2CAE031AB4BB5400B6BC39 /* SDWebImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
4397D2C31D0DDD8C00BB2784 /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D8E148C56230056699D /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
4397D2C41D0DDD8C00BB2784 /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D85148C56230056699D /* SDImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
4397D2C51D0DDD8C00BB2784 /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D95148C56230056699D /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
4397D2C81D0DDD8C00BB2784 /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D88148C56230056699D /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Public, ); }; };
4397D2CB1D0DDD8C00BB2784 /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = ABBE71A518C43B4D00B75E91 /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
4397D2D01D0DDD8C00BB2784 /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 530E49E316460AE2002868E7 /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
4397D2D81D0DDD8C00BB2784 /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D93148C56230056699D /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
4397D2D91D0DDD8C00BB2784 /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D91148C56230056699D /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Public, ); }; };
4397D2DA1D0DDD8C00BB2784 /* UIView+WebCacheOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = AB615301192DA24600A2D8E9 /* UIView+WebCacheOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
4397D2DB1D0DDD8C00BB2784 /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 53EDFB8817623F7C00698166 /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Public, ); }; };
4397D2DC1D0DDD8C00BB2784 /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 530E49E71646388E002868E7 /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
4397D2E11D0DDD8C00BB2784 /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D8B148C56230056699D /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Public, ); }; };
4397D2EA1D0DDD8C00BB2784 /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = A18A6CC5172DC28500419892 /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Public, ); }; };
4397D2EB1D0DDD8C00BB2784 /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D5B9140188EE8DD006D06BD /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Public, ); }; };
2018-04-18 21:14:34 +08:00
4397D2F61D0DE2DF00BB2784 /* NSImage+Compatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 4397D2F41D0DE2DF00BB2784 /* NSImage+Compatibility.h */; settings = {ATTRIBUTES = (Public, ); }; };
4397D2F71D0DE2DF00BB2784 /* NSImage+Compatibility.m in Sources */ = {isa = PBXBuildFile; fileRef = 4397D2F51D0DE2DF00BB2784 /* NSImage+Compatibility.m */; };
2016-09-26 00:27:10 +08:00
43A918641D8308FE00B3925F /* SDImageCacheConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A918621D8308FE00B3925F /* SDImageCacheConfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
43A918651D8308FE00B3925F /* SDImageCacheConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A918621D8308FE00B3925F /* SDImageCacheConfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
43A918661D8308FE00B3925F /* SDImageCacheConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A918621D8308FE00B3925F /* SDImageCacheConfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
43A918671D8308FE00B3925F /* SDImageCacheConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A918621D8308FE00B3925F /* SDImageCacheConfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
43A918681D8308FE00B3925F /* SDImageCacheConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A918621D8308FE00B3925F /* SDImageCacheConfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
43A918691D8308FE00B3925F /* SDImageCacheConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A918621D8308FE00B3925F /* SDImageCacheConfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
2016-09-24 05:14:13 +08:00
43A9186B1D8308FE00B3925F /* SDImageCacheConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 43A918631D8308FE00B3925F /* SDImageCacheConfig.m */; };
43A9186C1D8308FE00B3925F /* SDImageCacheConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 43A918631D8308FE00B3925F /* SDImageCacheConfig.m */; };
43A9186D1D8308FE00B3925F /* SDImageCacheConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 43A918631D8308FE00B3925F /* SDImageCacheConfig.m */; };
43A9186E1D8308FE00B3925F /* SDImageCacheConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 43A918631D8308FE00B3925F /* SDImageCacheConfig.m */; };
43A9186F1D8308FE00B3925F /* SDImageCacheConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 43A918631D8308FE00B3925F /* SDImageCacheConfig.m */; };
43A918701D8308FE00B3925F /* SDImageCacheConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 43A918631D8308FE00B3925F /* SDImageCacheConfig.m */; };
2016-05-09 03:59:32 +08:00
4A2CAE041AB4BB5400B6BC39 /* SDWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A2CAE031AB4BB5400B6BC39 /* SDWebImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
2015-03-15 03:06:39 +08:00
4A2CAE181AB4BB6400B6BC39 /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D88148C56230056699D /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Public, ); }; };
4A2CAE191AB4BB6400B6BC39 /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = 5340674F167780C40042B59E /* SDWebImageCompat.m */; };
4A2CAE1A1AB4BB6400B6BC39 /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 530E49E71646388E002868E7 /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
4A2CAE1B1AB4BB6800B6BC39 /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D8B148C56230056699D /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Public, ); }; };
4A2CAE1C1AB4BB6800B6BC39 /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D8C148C56230056699D /* SDWebImageDownloader.m */; };
4A2CAE1D1AB4BB6800B6BC39 /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 530E49E316460AE2002868E7 /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
4A2CAE1E1AB4BB6800B6BC39 /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 530E49E416460AE2002868E7 /* SDWebImageDownloaderOperation.m */; };
4A2CAE1F1AB4BB6C00B6BC39 /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D85148C56230056699D /* SDImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
4A2CAE201AB4BB6C00B6BC39 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D86148C56230056699D /* SDImageCache.m */; };
4A2CAE211AB4BB7000B6BC39 /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D8E148C56230056699D /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
4A2CAE221AB4BB7000B6BC39 /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D8F148C56230056699D /* SDWebImageManager.m */; };
4A2CAE251AB4BB7000B6BC39 /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D91148C56230056699D /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Public, ); }; };
4A2CAE261AB4BB7000B6BC39 /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D92148C56230056699D /* SDWebImagePrefetcher.m */; };
4A2CAE291AB4BB7500B6BC39 /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D5B9140188EE8DD006D06BD /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Public, ); }; };
4A2CAE2A1AB4BB7500B6BC39 /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D5B9141188EE8DD006D06BD /* NSData+ImageContentType.m */; };
4A2CAE2B1AB4BB7500B6BC39 /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D93148C56230056699D /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
4A2CAE2C1AB4BB7500B6BC39 /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D94148C56230056699D /* UIButton+WebCache.m */; };
4A2CAE2D1AB4BB7500B6BC39 /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = A18A6CC5172DC28500419892 /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Public, ); }; };
4A2CAE2E1AB4BB7500B6BC39 /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = A18A6CC6172DC28500419892 /* UIImage+GIF.m */; };
4A2CAE2F1AB4BB7500B6BC39 /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 53EDFB8817623F7C00698166 /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Public, ); }; };
4A2CAE301AB4BB7500B6BC39 /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 53EDFB8917623F7C00698166 /* UIImage+MultiFormat.m */; };
4A2CAE331AB4BB7500B6BC39 /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = ABBE71A518C43B4D00B75E91 /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
4A2CAE341AB4BB7500B6BC39 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = ABBE71A618C43B4D00B75E91 /* UIImageView+HighlightedWebCache.m */; };
4A2CAE351AB4BB7500B6BC39 /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D95148C56230056699D /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
4A2CAE361AB4BB7500B6BC39 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D96148C56230056699D /* UIImageView+WebCache.m */; };
4A2CAE371AB4BB7500B6BC39 /* UIView+WebCacheOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = AB615301192DA24600A2D8E9 /* UIView+WebCacheOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
4A2CAE381AB4BB7500B6BC39 /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = AB615302192DA24600A2D8E9 /* UIView+WebCacheOperation.m */; };
2012-11-04 16:50:23 +08:00
530E49E816464C25002868E7 /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 530E49E71646388E002868E7 /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
530E49EA16464C7C002868E7 /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 530E49E316460AE2002868E7 /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
530E49EC16464C84002868E7 /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 530E49E416460AE2002868E7 /* SDWebImageDownloaderOperation.m */; };
2012-12-11 23:11:06 +08:00
53406750167780C40042B59E /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = 5340674F167780C40042B59E /* SDWebImageCompat.m */; };
2012-05-10 06:30:48 +08:00
53761309155AD0D5005750A4 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D86148C56230056699D /* SDImageCache.m */; };
5376130B155AD0D5005750A4 /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D8C148C56230056699D /* SDWebImageDownloader.m */; };
5376130C155AD0D5005750A4 /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D8F148C56230056699D /* SDWebImageManager.m */; };
5376130D155AD0D5005750A4 /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D92148C56230056699D /* SDWebImagePrefetcher.m */; };
5376130E155AD0D5005750A4 /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D94148C56230056699D /* UIButton+WebCache.m */; };
5376130F155AD0D5005750A4 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D96148C56230056699D /* UIImageView+WebCache.m */; };
53761312155AD0D5005750A4 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53FB894814D35E9E0020B787 /* UIKit.framework */; };
53761313155AD0D5005750A4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53922D72148C55820056699D /* Foundation.framework */; };
53761314155AD0D5005750A4 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53FB893F14D35D1A0020B787 /* CoreGraphics.framework */; };
53761316155AD0D5005750A4 /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D85148C56230056699D /* SDImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
53761318155AD0D5005750A4 /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D88148C56230056699D /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Public, ); }; };
5376131A155AD0D5005750A4 /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D8B148C56230056699D /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Public, ); }; };
5376131C155AD0D5005750A4 /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D8E148C56230056699D /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
5376131E155AD0D5005750A4 /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D91148C56230056699D /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Public, ); }; };
5376131F155AD0D5005750A4 /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D93148C56230056699D /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
53761320155AD0D5005750A4 /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D95148C56230056699D /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
53EDFB8A17623F7C00698166 /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 53EDFB8817623F7C00698166 /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Public, ); }; };
2013-06-08 01:39:07 +08:00
53EDFB8C17623F7C00698166 /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 53EDFB8917623F7C00698166 /* UIImage+MultiFormat.m */; };
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
5D5B9142188EE8DD006D06BD /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D5B9140188EE8DD006D06BD /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Public, ); }; };
2014-01-22 01:57:50 +08:00
5D5B9145188EE8DD006D06BD /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D5B9141188EE8DD006D06BD /* NSData+ImageContentType.m */; };
2018-04-26 22:51:50 +08:00
807A12281F89636300EC2A9B /* SDImageCodersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 807A12261F89636300EC2A9B /* SDImageCodersManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
807A12291F89636300EC2A9B /* SDImageCodersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 807A12261F89636300EC2A9B /* SDImageCodersManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
807A122A1F89636300EC2A9B /* SDImageCodersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 807A12261F89636300EC2A9B /* SDImageCodersManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
807A122B1F89636300EC2A9B /* SDImageCodersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 807A12261F89636300EC2A9B /* SDImageCodersManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
807A122C1F89636300EC2A9B /* SDImageCodersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 807A12261F89636300EC2A9B /* SDImageCodersManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
807A122D1F89636300EC2A9B /* SDImageCodersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 807A12261F89636300EC2A9B /* SDImageCodersManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
807A122E1F89636300EC2A9B /* SDImageCodersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 807A12271F89636300EC2A9B /* SDImageCodersManager.m */; };
807A122F1F89636300EC2A9B /* SDImageCodersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 807A12271F89636300EC2A9B /* SDImageCodersManager.m */; };
807A12301F89636300EC2A9B /* SDImageCodersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 807A12271F89636300EC2A9B /* SDImageCodersManager.m */; };
807A12311F89636300EC2A9B /* SDImageCodersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 807A12271F89636300EC2A9B /* SDImageCodersManager.m */; };
807A12321F89636300EC2A9B /* SDImageCodersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 807A12271F89636300EC2A9B /* SDImageCodersManager.m */; };
807A12331F89636300EC2A9B /* SDImageCodersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 807A12271F89636300EC2A9B /* SDImageCodersManager.m */; };
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
A18A6CC7172DC28500419892 /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = A18A6CC5172DC28500419892 /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Public, ); }; };
2013-04-29 05:06:54 +08:00
A18A6CC9172DC28500419892 /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = A18A6CC6172DC28500419892 /* UIImage+GIF.m */; };
2016-05-09 02:59:15 +08:00
AB615303192DA24600A2D8E9 /* UIView+WebCacheOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = AB615301192DA24600A2D8E9 /* UIView+WebCacheOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
2014-06-19 22:46:37 +08:00
AB615306192DA24600A2D8E9 /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = AB615302192DA24600A2D8E9 /* UIView+WebCacheOperation.m */; };
2014-03-03 12:32:27 +08:00
ABBE71A718C43B4D00B75E91 /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = ABBE71A518C43B4D00B75E91 /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
ABBE71A818C43B4D00B75E91 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = ABBE71A618C43B4D00B75E91 /* UIImageView+HighlightedWebCache.m */; };
2011-12-05 09:48:58 +08:00
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
2016-05-09 03:59:32 +08:00
00733A4C1BC487C000A5A117 /* SDWebImage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDWebImage.framework; sourceTree = BUILT_PRODUCTS_DIR; };
2018-02-18 11:34:06 +08:00
320224B9203979BA00E9F285 /* SDAnimatedImageRep.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDAnimatedImageRep.h; sourceTree = "<group>"; };
320224BA203979BA00E9F285 /* SDAnimatedImageRep.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDAnimatedImageRep.m; sourceTree = "<group>"; };
2018-04-18 12:50:05 +08:00
320CAE132086F50500CFFC80 /* SDWebImageError.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDWebImageError.h; sourceTree = "<group>"; };
320CAE142086F50500CFFC80 /* SDWebImageError.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDWebImageError.m; sourceTree = "<group>"; };
2018-05-17 12:00:31 +08:00
321B377D2083290D00C0EA77 /* SDImageLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDImageLoader.h; sourceTree = "<group>"; };
321B377E2083290D00C0EA77 /* SDImageLoader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDImageLoader.m; sourceTree = "<group>"; };
321B377F2083290E00C0EA77 /* SDImageLoadersManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDImageLoadersManager.h; sourceTree = "<group>"; };
321B37802083290E00C0EA77 /* SDImageLoadersManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDImageLoadersManager.m; sourceTree = "<group>"; };
2018-01-19 15:46:05 +08:00
321DB35F2011D4D60015D2CB /* NSButton+WebCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSButton+WebCache.h"; path = "SDWebImage/NSButton+WebCache.h"; sourceTree = "<group>"; };
321DB3602011D4D60015D2CB /* NSButton+WebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSButton+WebCache.m"; path = "SDWebImage/NSButton+WebCache.m"; sourceTree = "<group>"; };
2018-04-26 22:39:52 +08:00
321E60841F38E8C800405457 /* SDImageCoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDImageCoder.h; sourceTree = "<group>"; };
321E60851F38E8C800405457 /* SDImageCoder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDImageCoder.m; sourceTree = "<group>"; };
2018-04-26 22:51:50 +08:00
321E60921F38E8ED00405457 /* SDImageIOCoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDImageIOCoder.h; sourceTree = "<group>"; };
321E60931F38E8ED00405457 /* SDImageIOCoder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDImageIOCoder.m; sourceTree = "<group>"; };
321E60A01F38E8F600405457 /* SDImageGIFCoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDImageGIFCoder.h; sourceTree = "<group>"; };
321E60A11F38E8F600405457 /* SDImageGIFCoder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDImageGIFCoder.m; sourceTree = "<group>"; };
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
321E60BC1F38E91700405457 /* UIImage+ForceDecode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+ForceDecode.h"; sourceTree = "<group>"; };
321E60BD1F38E91700405457 /* UIImage+ForceDecode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+ForceDecode.m"; sourceTree = "<group>"; };
2017-12-21 11:43:46 +08:00
32484757201775F600AF9E5A /* SDAnimatedImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDAnimatedImageView.m; sourceTree = "<group>"; };
32484758201775F600AF9E5A /* SDAnimatedImageView+WebCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "SDAnimatedImageView+WebCache.h"; sourceTree = "<group>"; };
32484759201775F600AF9E5A /* SDAnimatedImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDAnimatedImageView.h; sourceTree = "<group>"; };
3248475A201775F600AF9E5A /* SDAnimatedImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDAnimatedImage.m; sourceTree = "<group>"; };
3248475B201775F600AF9E5A /* SDAnimatedImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDAnimatedImage.h; sourceTree = "<group>"; };
3248475C201775F600AF9E5A /* SDAnimatedImageView+WebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "SDAnimatedImageView+WebCache.m"; sourceTree = "<group>"; };
2018-01-13 18:42:15 +08:00
324DF4B2200A14DC008A84CC /* SDWebImageDefine.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDWebImageDefine.h; sourceTree = "<group>"; };
324DF4B3200A14DC008A84CC /* SDWebImageDefine.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDWebImageDefine.m; sourceTree = "<group>"; };
2018-01-17 15:20:38 +08:00
325312C6200F09910046BF1E /* SDWebImageTransition.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDWebImageTransition.h; sourceTree = "<group>"; };
325312C7200F09910046BF1E /* SDWebImageTransition.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDWebImageTransition.m; sourceTree = "<group>"; };
2018-04-26 22:51:50 +08:00
327054D2206CD8B3006EA328 /* SDImageAPNGCoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDImageAPNGCoder.h; sourceTree = "<group>"; };
327054D3206CD8B3006EA328 /* SDImageAPNGCoder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDImageAPNGCoder.m; sourceTree = "<group>"; };
2018-04-14 18:18:45 +08:00
328BB69A2081FED200760D6C /* SDWebImageCacheKeyFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDWebImageCacheKeyFilter.h; sourceTree = "<group>"; };
328BB69B2081FED200760D6C /* SDWebImageCacheKeyFilter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDWebImageCacheKeyFilter.m; sourceTree = "<group>"; };
328BB6A82081FEE500760D6C /* SDWebImageCacheSerializer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDWebImageCacheSerializer.h; sourceTree = "<group>"; };
328BB6A92081FEE500760D6C /* SDWebImageCacheSerializer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDWebImageCacheSerializer.m; sourceTree = "<group>"; };
2018-04-15 00:05:09 +08:00
328BB6BD2082581100760D6C /* SDDiskCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDDiskCache.h; sourceTree = "<group>"; };
328BB6BE2082581100760D6C /* SDDiskCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDDiskCache.m; sourceTree = "<group>"; };
328BB6BF2082581100760D6C /* SDMemoryCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDMemoryCache.h; sourceTree = "<group>"; };
328BB6C02082581100760D6C /* SDMemoryCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDMemoryCache.m; sourceTree = "<group>"; };
2018-04-26 22:13:28 +08:00
3290FA021FA478AF0047D20C /* SDImageFrame.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDImageFrame.h; sourceTree = "<group>"; };
3290FA031FA478AF0047D20C /* SDImageFrame.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDImageFrame.m; sourceTree = "<group>"; };
2018-06-25 13:52:46 +08:00
329A18571FFF5DFD008C9A2F /* UIImage+Metadata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+Metadata.h"; sourceTree = "<group>"; };
329A18581FFF5DFD008C9A2F /* UIImage+Metadata.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+Metadata.m"; sourceTree = "<group>"; };
2018-03-31 05:34:10 +08:00
32B9B535206ED4230026769D /* SDWebImageDownloaderConfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDWebImageDownloaderConfig.h; sourceTree = "<group>"; };
32B9B536206ED4230026769D /* SDWebImageDownloaderConfig.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDWebImageDownloaderConfig.m; sourceTree = "<group>"; };
2018-01-20 23:40:16 +08:00
32C0FDDF2013426C001B8F2D /* SDWebImageIndicator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDWebImageIndicator.h; sourceTree = "<group>"; };
32C0FDE02013426C001B8F2D /* SDWebImageIndicator.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDWebImageIndicator.m; sourceTree = "<group>"; };
2018-04-26 22:13:28 +08:00
32CF1C051FA496B000004BD1 /* SDImageCoderHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDImageCoderHelper.h; sourceTree = "<group>"; };
32CF1C061FA496B000004BD1 /* SDImageCoderHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDImageCoderHelper.m; sourceTree = "<group>"; };
2018-04-18 19:16:45 +08:00
32D1221A2080B2EB003685A3 /* SDImageCacheDefine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDImageCacheDefine.h; sourceTree = "<group>"; };
32D1221B2080B2EB003685A3 /* SDImageCacheDefine.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDImageCacheDefine.m; sourceTree = "<group>"; };
2018-04-18 19:05:10 +08:00
32D1221C2080B2EB003685A3 /* SDImageCachesManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDImageCachesManager.m; sourceTree = "<group>"; };
32D1221D2080B2EB003685A3 /* SDImageCachesManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDImageCachesManager.h; sourceTree = "<group>"; };
2018-04-07 13:47:54 +08:00
32F21B4F20788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDWebImageDownloaderRequestModifier.h; sourceTree = "<group>"; };
32F21B5020788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDWebImageDownloaderRequestModifier.m; sourceTree = "<group>"; };
2018-04-26 21:30:44 +08:00
32F7C06D2030114C00873181 /* SDImageTransformer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDImageTransformer.h; sourceTree = "<group>"; };
32F7C06E2030114C00873181 /* SDImageTransformer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDImageTransformer.m; sourceTree = "<group>"; };
2018-02-11 23:36:58 +08:00
32F7C07C2030719600873181 /* UIImage+Transform.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+Transform.m"; sourceTree = "<group>"; };
32F7C07D2030719600873181 /* UIImage+Transform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+Transform.h"; sourceTree = "<group>"; };
2018-04-19 16:22:47 +08:00
32FDE87A2088871B008D7530 /* MKAnnotationView+WebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MKAnnotationView+WebCache.m"; sourceTree = "<group>"; };
32FDE87B2088871B008D7530 /* MKAnnotationView+WebCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MKAnnotationView+WebCache.h"; sourceTree = "<group>"; };
32FDE8A4208887A6008D7530 /* SDWebImage.modulemap */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.module-map"; path = SDWebImage.modulemap; sourceTree = "<group>"; };
2016-06-13 05:53:08 +08:00
4314D1991D0E0E3B004B36C9 /* libSDWebImage watchOS static.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libSDWebImage watchOS static.a"; sourceTree = BUILT_PRODUCTS_DIR; };
2016-06-10 12:28:09 +08:00
431BB7031D06D2C1006A3455 /* SDWebImage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDWebImage.framework; sourceTree = BUILT_PRODUCTS_DIR; };
2016-09-26 00:44:52 +08:00
4369C2751D9807EC007E863A /* UIView+WebCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCache.h"; path = "SDWebImage/UIView+WebCache.h"; sourceTree = "<group>"; };
4369C2761D9807EC007E863A /* UIView+WebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCache.m"; path = "SDWebImage/UIView+WebCache.m"; sourceTree = "<group>"; };
2016-06-13 04:23:53 +08:00
4397D2F21D0DDD8C00BB2784 /* SDWebImage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDWebImage.framework; sourceTree = BUILT_PRODUCTS_DIR; };
2018-04-18 21:14:34 +08:00
4397D2F41D0DE2DF00BB2784 /* NSImage+Compatibility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSImage+Compatibility.h"; sourceTree = "<group>"; };
4397D2F51D0DE2DF00BB2784 /* NSImage+Compatibility.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSImage+Compatibility.m"; sourceTree = "<group>"; };
2016-09-24 05:14:13 +08:00
43A918621D8308FE00B3925F /* SDImageCacheConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDImageCacheConfig.h; sourceTree = "<group>"; };
43A918631D8308FE00B3925F /* SDImageCacheConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDImageCacheConfig.m; sourceTree = "<group>"; };
2016-05-09 03:59:32 +08:00
4A2CADFF1AB4BB5300B6BC39 /* SDWebImage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDWebImage.framework; sourceTree = BUILT_PRODUCTS_DIR; };
2015-03-15 03:06:39 +08:00
4A2CAE021AB4BB5400B6BC39 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
2016-05-09 03:59:32 +08:00
4A2CAE031AB4BB5400B6BC39 /* SDWebImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDWebImage.h; sourceTree = "<group>"; };
2012-11-04 16:50:23 +08:00
530E49E316460AE2002868E7 /* SDWebImageDownloaderOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDWebImageDownloaderOperation.h; sourceTree = "<group>"; };
530E49E416460AE2002868E7 /* SDWebImageDownloaderOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDWebImageDownloaderOperation.m; sourceTree = "<group>"; };
530E49E71646388E002868E7 /* SDWebImageOperation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDWebImageOperation.h; sourceTree = "<group>"; };
2012-12-11 23:11:06 +08:00
5340674F167780C40042B59E /* SDWebImageCompat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDWebImageCompat.m; sourceTree = "<group>"; };
2016-06-13 05:53:08 +08:00
53761325155AD0D5005750A4 /* libSDWebImage iOS static.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libSDWebImage iOS static.a"; sourceTree = BUILT_PRODUCTS_DIR; };
2011-12-05 09:48:58 +08:00
53922D72148C55820056699D /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
2012-05-09 18:37:35 +08:00
53922D85148C56230056699D /* SDImageCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDImageCache.h; path = SDWebImage/SDImageCache.h; sourceTree = SOURCE_ROOT; };
53922D86148C56230056699D /* SDImageCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDImageCache.m; path = SDWebImage/SDImageCache.m; sourceTree = SOURCE_ROOT; };
53922D88148C56230056699D /* SDWebImageCompat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDWebImageCompat.h; path = SDWebImage/SDWebImageCompat.h; sourceTree = SOURCE_ROOT; };
53922D8B148C56230056699D /* SDWebImageDownloader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloader.h; path = SDWebImage/SDWebImageDownloader.h; sourceTree = SOURCE_ROOT; };
53922D8C148C56230056699D /* SDWebImageDownloader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloader.m; path = SDWebImage/SDWebImageDownloader.m; sourceTree = SOURCE_ROOT; };
53922D8E148C56230056699D /* SDWebImageManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDWebImageManager.h; path = SDWebImage/SDWebImageManager.h; sourceTree = SOURCE_ROOT; };
53922D8F148C56230056699D /* SDWebImageManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDWebImageManager.m; path = SDWebImage/SDWebImageManager.m; sourceTree = SOURCE_ROOT; };
53922D91148C56230056699D /* SDWebImagePrefetcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDWebImagePrefetcher.h; path = SDWebImage/SDWebImagePrefetcher.h; sourceTree = SOURCE_ROOT; };
53922D92148C56230056699D /* SDWebImagePrefetcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDWebImagePrefetcher.m; path = SDWebImage/SDWebImagePrefetcher.m; sourceTree = SOURCE_ROOT; };
53922D93148C56230056699D /* UIButton+WebCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIButton+WebCache.h"; path = "SDWebImage/UIButton+WebCache.h"; sourceTree = SOURCE_ROOT; };
53922D94148C56230056699D /* UIButton+WebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIButton+WebCache.m"; path = "SDWebImage/UIButton+WebCache.m"; sourceTree = SOURCE_ROOT; };
53922D95148C56230056699D /* UIImageView+WebCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIImageView+WebCache.h"; path = "SDWebImage/UIImageView+WebCache.h"; sourceTree = SOURCE_ROOT; };
53922D96148C56230056699D /* UIImageView+WebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+WebCache.m"; path = "SDWebImage/UIImageView+WebCache.m"; sourceTree = SOURCE_ROOT; };
2013-06-08 01:39:07 +08:00
53EDFB8817623F7C00698166 /* UIImage+MultiFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+MultiFormat.h"; sourceTree = "<group>"; };
53EDFB8917623F7C00698166 /* UIImage+MultiFormat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+MultiFormat.m"; sourceTree = "<group>"; };
2012-01-28 06:41:43 +08:00
53FB893F14D35D1A0020B787 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
53FB894814D35E9E0020B787 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
2014-01-22 01:57:50 +08:00
5D5B9140188EE8DD006D06BD /* NSData+ImageContentType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+ImageContentType.h"; sourceTree = "<group>"; };
5D5B9141188EE8DD006D06BD /* NSData+ImageContentType.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+ImageContentType.m"; sourceTree = "<group>"; };
2018-04-26 22:51:50 +08:00
807A12261F89636300EC2A9B /* SDImageCodersManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDImageCodersManager.h; sourceTree = "<group>"; };
807A12271F89636300EC2A9B /* SDImageCodersManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDImageCodersManager.m; sourceTree = "<group>"; };
2013-04-29 05:06:54 +08:00
A18A6CC5172DC28500419892 /* UIImage+GIF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+GIF.h"; sourceTree = "<group>"; };
A18A6CC6172DC28500419892 /* UIImage+GIF.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+GIF.m"; sourceTree = "<group>"; };
2014-06-19 22:46:37 +08:00
AB615301192DA24600A2D8E9 /* UIView+WebCacheOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+WebCacheOperation.h"; sourceTree = "<group>"; };
AB615302192DA24600A2D8E9 /* UIView+WebCacheOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+WebCacheOperation.m"; sourceTree = "<group>"; };
2016-09-26 00:29:14 +08:00
ABBE71A518C43B4D00B75E91 /* UIImageView+HighlightedWebCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIImageView+HighlightedWebCache.h"; path = "SDWebImage/UIImageView+HighlightedWebCache.h"; sourceTree = "<group>"; };
ABBE71A618C43B4D00B75E91 /* UIImageView+HighlightedWebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+HighlightedWebCache.m"; path = "SDWebImage/UIImageView+HighlightedWebCache.m"; sourceTree = "<group>"; };
2011-12-05 09:48:58 +08:00
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
2015-10-07 06:58:23 +08:00
00733A481BC487C000A5A117 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
2016-06-13 05:53:08 +08:00
4314D15D1D0E0E3B004B36C9 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
4314D15E1D0E0E3B004B36C9 /* UIKit.framework in Frameworks */,
4314D15F1D0E0E3B004B36C9 /* Foundation.framework in Frameworks */,
4314D1601D0E0E3B004B36C9 /* CoreGraphics.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
2016-06-10 12:28:09 +08:00
431BB6CA1D06D2C1006A3455 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
2016-06-13 04:23:53 +08:00
4397D2B81D0DDD8C00BB2784 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
2015-03-15 03:06:39 +08:00
4A2CADFB1AB4BB5300B6BC39 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
2012-05-10 06:30:48 +08:00
53761311155AD0D5005750A4 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
53761312155AD0D5005750A4 /* UIKit.framework in Frameworks */,
53761313155AD0D5005750A4 /* Foundation.framework in Frameworks */,
53761314155AD0D5005750A4 /* CoreGraphics.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
2011-12-05 09:48:58 +08:00
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
321E60831F38E88F00405457 /* Decoder */ = {
isa = PBXGroup;
children = (
2018-04-26 22:51:50 +08:00
807A12261F89636300EC2A9B /* SDImageCodersManager.h */,
807A12271F89636300EC2A9B /* SDImageCodersManager.m */,
2018-04-26 22:39:52 +08:00
321E60841F38E8C800405457 /* SDImageCoder.h */,
321E60851F38E8C800405457 /* SDImageCoder.m */,
2018-04-26 22:51:50 +08:00
321E60921F38E8ED00405457 /* SDImageIOCoder.h */,
321E60931F38E8ED00405457 /* SDImageIOCoder.m */,
321E60A01F38E8F600405457 /* SDImageGIFCoder.h */,
321E60A11F38E8F600405457 /* SDImageGIFCoder.m */,
327054D2206CD8B3006EA328 /* SDImageAPNGCoder.h */,
327054D3206CD8B3006EA328 /* SDImageAPNGCoder.m */,
2018-04-26 22:13:28 +08:00
3290FA021FA478AF0047D20C /* SDImageFrame.h */,
3290FA031FA478AF0047D20C /* SDImageFrame.m */,
32CF1C051FA496B000004BD1 /* SDImageCoderHelper.h */,
32CF1C061FA496B000004BD1 /* SDImageCoderHelper.m */,
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
);
name = Decoder;
sourceTree = "<group>";
};
2017-12-21 11:43:46 +08:00
32484756201775CE00AF9E5A /* ImageView */ = {
isa = PBXGroup;
children = (
3248475B201775F600AF9E5A /* SDAnimatedImage.h */,
3248475A201775F600AF9E5A /* SDAnimatedImage.m */,
32484759201775F600AF9E5A /* SDAnimatedImageView.h */,
32484757201775F600AF9E5A /* SDAnimatedImageView.m */,
32484758201775F600AF9E5A /* SDAnimatedImageView+WebCache.h */,
3248475C201775F600AF9E5A /* SDAnimatedImageView+WebCache.m */,
2018-03-29 20:28:50 +08:00
320224B9203979BA00E9F285 /* SDAnimatedImageRep.h */,
320224BA203979BA00E9F285 /* SDAnimatedImageRep.m */,
2017-12-21 11:43:46 +08:00
);
name = ImageView;
sourceTree = "<group>";
};
2018-04-14 18:18:45 +08:00
328BB6972081FDAB00760D6C /* Manager */ = {
isa = PBXGroup;
children = (
53922D8E148C56230056699D /* SDWebImageManager.h */,
53922D8F148C56230056699D /* SDWebImageManager.m */,
328BB69A2081FED200760D6C /* SDWebImageCacheKeyFilter.h */,
328BB69B2081FED200760D6C /* SDWebImageCacheKeyFilter.m */,
328BB6A82081FEE500760D6C /* SDWebImageCacheSerializer.h */,
328BB6A92081FEE500760D6C /* SDWebImageCacheSerializer.m */,
);
name = Manager;
sourceTree = "<group>";
};
328BB6982081FDD800760D6C /* Prefetcher */ = {
isa = PBXGroup;
children = (
53922D91148C56230056699D /* SDWebImagePrefetcher.h */,
53922D92148C56230056699D /* SDWebImagePrefetcher.m */,
);
name = Prefetcher;
sourceTree = "<group>";
};
328BB6992081FDDF00760D6C /* Transformer */ = {
isa = PBXGroup;
children = (
2018-04-26 21:30:44 +08:00
32F7C06D2030114C00873181 /* SDImageTransformer.h */,
32F7C06E2030114C00873181 /* SDImageTransformer.m */,
2018-04-14 18:18:45 +08:00
);
name = Transformer;
sourceTree = "<group>";
};
2018-04-19 16:22:47 +08:00
32FDE8792088871B008D7530 /* MapKit */ = {
isa = PBXGroup;
children = (
32FDE87B2088871B008D7530 /* MKAnnotationView+WebCache.h */,
32FDE87A2088871B008D7530 /* MKAnnotationView+WebCache.m */,
);
path = MapKit;
sourceTree = "<group>";
};
2016-09-26 00:29:14 +08:00
4369C2851D9811BB007E863A /* WebCache Categories */ = {
isa = PBXGroup;
children = (
2018-01-19 15:46:05 +08:00
321DB35F2011D4D60015D2CB /* NSButton+WebCache.h */,
321DB3602011D4D60015D2CB /* NSButton+WebCache.m */,
2016-09-26 00:29:14 +08:00
53922D93148C56230056699D /* UIButton+WebCache.h */,
53922D94148C56230056699D /* UIButton+WebCache.m */,
ABBE71A518C43B4D00B75E91 /* UIImageView+HighlightedWebCache.h */,
ABBE71A618C43B4D00B75E91 /* UIImageView+HighlightedWebCache.m */,
53922D95148C56230056699D /* UIImageView+WebCache.h */,
53922D96148C56230056699D /* UIImageView+WebCache.m */,
2016-09-26 00:44:52 +08:00
4369C2751D9807EC007E863A /* UIView+WebCache.h */,
4369C2761D9807EC007E863A /* UIView+WebCache.m */,
2016-09-26 00:29:14 +08:00
);
name = "WebCache Categories";
path = ..;
sourceTree = "<group>";
};
2015-03-15 03:06:39 +08:00
4A2CAE001AB4BB5300B6BC39 /* WebImage */ = {
isa = PBXGroup;
children = (
2016-05-09 03:59:32 +08:00
4A2CAE031AB4BB5400B6BC39 /* SDWebImage.h */,
2015-03-15 03:06:39 +08:00
4A2CAE011AB4BB5400B6BC39 /* Supporting Files */,
);
path = WebImage;
sourceTree = "<group>";
};
4A2CAE011AB4BB5400B6BC39 /* Supporting Files */ = {
isa = PBXGroup;
children = (
4A2CAE021AB4BB5400B6BC39 /* Info.plist */,
2018-04-19 16:22:47 +08:00
32FDE8A4208887A6008D7530 /* SDWebImage.modulemap */,
2015-03-15 03:06:39 +08:00
);
name = "Supporting Files";
sourceTree = "<group>";
};
2011-12-05 09:48:58 +08:00
53922D64148C55810056699D = {
isa = PBXGroup;
children = (
53922D74148C55820056699D /* SDWebImage */,
2015-03-15 03:06:39 +08:00
4A2CAE001AB4BB5300B6BC39 /* WebImage */,
2011-12-05 09:48:58 +08:00
53922D71148C55820056699D /* Frameworks */,
53922D70148C55820056699D /* Products */,
);
sourceTree = "<group>";
2012-12-14 06:45:10 +08:00
usesTabs = 0;
2011-12-05 09:48:58 +08:00
};
53922D70148C55820056699D /* Products */ = {
isa = PBXGroup;
children = (
2016-06-13 05:53:08 +08:00
53761325155AD0D5005750A4 /* libSDWebImage iOS static.a */,
2016-05-09 03:59:32 +08:00
4A2CADFF1AB4BB5300B6BC39 /* SDWebImage.framework */,
00733A4C1BC487C000A5A117 /* SDWebImage.framework */,
2016-06-10 12:28:09 +08:00
431BB7031D06D2C1006A3455 /* SDWebImage.framework */,
2016-06-13 04:23:53 +08:00
4397D2F21D0DDD8C00BB2784 /* SDWebImage.framework */,
2016-06-13 05:53:08 +08:00
4314D1991D0E0E3B004B36C9 /* libSDWebImage watchOS static.a */,
2011-12-05 09:48:58 +08:00
);
name = Products;
sourceTree = "<group>";
};
53922D71148C55820056699D /* Frameworks */ = {
isa = PBXGroup;
children = (
2012-01-28 06:41:43 +08:00
53FB893F14D35D1A0020B787 /* CoreGraphics.framework */,
2011-12-05 09:48:58 +08:00
53922D72148C55820056699D /* Foundation.framework */,
2012-01-28 06:41:43 +08:00
53FB894814D35E9E0020B787 /* UIKit.framework */,
2011-12-05 09:48:58 +08:00
);
name = Frameworks;
sourceTree = "<group>";
};
53922D74148C55820056699D /* SDWebImage */ = {
isa = PBXGroup;
children = (
2018-04-14 18:18:45 +08:00
328BB6972081FDAB00760D6C /* Manager */,
2011-12-05 09:48:58 +08:00
53922DAB148C56810056699D /* Downloader */,
53922DAA148C56470056699D /* Cache */,
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
321E60831F38E88F00405457 /* Decoder */,
2018-04-14 18:18:45 +08:00
328BB6982081FDD800760D6C /* Prefetcher */,
328BB6992081FDDF00760D6C /* Transformer */,
2017-12-21 11:43:46 +08:00
32484756201775CE00AF9E5A /* ImageView */,
2011-12-05 09:48:58 +08:00
53922DAC148C56DD0056699D /* Utils */,
53922DA9148C562D0056699D /* Categories */,
2016-09-26 00:29:14 +08:00
4369C2851D9811BB007E863A /* WebCache Categories */,
2018-04-19 16:22:47 +08:00
32FDE8792088871B008D7530 /* MapKit */,
2011-12-05 09:48:58 +08:00
);
path = SDWebImage;
sourceTree = "<group>";
};
53922DA9148C562D0056699D /* Categories */ = {
isa = PBXGroup;
children = (
2014-01-22 01:57:50 +08:00
5D5B9140188EE8DD006D06BD /* NSData+ImageContentType.h */,
5D5B9141188EE8DD006D06BD /* NSData+ImageContentType.m */,
2013-04-29 05:06:54 +08:00
A18A6CC5172DC28500419892 /* UIImage+GIF.h */,
A18A6CC6172DC28500419892 /* UIImage+GIF.m */,
2018-06-25 13:52:46 +08:00
329A18571FFF5DFD008C9A2F /* UIImage+Metadata.h */,
329A18581FFF5DFD008C9A2F /* UIImage+Metadata.m */,
2014-06-19 15:35:55 +08:00
53EDFB8817623F7C00698166 /* UIImage+MultiFormat.h */,
53EDFB8917623F7C00698166 /* UIImage+MultiFormat.m */,
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
321E60BC1F38E91700405457 /* UIImage+ForceDecode.h */,
321E60BD1F38E91700405457 /* UIImage+ForceDecode.m */,
2018-02-11 23:36:58 +08:00
32F7C07D2030719600873181 /* UIImage+Transform.h */,
32F7C07C2030719600873181 /* UIImage+Transform.m */,
2018-04-18 21:14:34 +08:00
4397D2F41D0DE2DF00BB2784 /* NSImage+Compatibility.h */,
4397D2F51D0DE2DF00BB2784 /* NSImage+Compatibility.m */,
2014-06-19 22:46:37 +08:00
AB615301192DA24600A2D8E9 /* UIView+WebCacheOperation.h */,
AB615302192DA24600A2D8E9 /* UIView+WebCacheOperation.m */,
2011-12-05 09:48:58 +08:00
);
name = Categories;
sourceTree = "<group>";
};
53922DAA148C56470056699D /* Cache */ = {
isa = PBXGroup;
children = (
53922D85148C56230056699D /* SDImageCache.h */,
53922D86148C56230056699D /* SDImageCache.m */,
2016-09-24 05:14:13 +08:00
43A918621D8308FE00B3925F /* SDImageCacheConfig.h */,
43A918631D8308FE00B3925F /* SDImageCacheConfig.m */,
2018-04-15 00:05:09 +08:00
328BB6BF2082581100760D6C /* SDMemoryCache.h */,
328BB6C02082581100760D6C /* SDMemoryCache.m */,
328BB6BD2082581100760D6C /* SDDiskCache.h */,
328BB6BE2082581100760D6C /* SDDiskCache.m */,
2018-04-18 19:16:45 +08:00
32D1221A2080B2EB003685A3 /* SDImageCacheDefine.h */,
32D1221B2080B2EB003685A3 /* SDImageCacheDefine.m */,
2018-04-18 19:05:10 +08:00
32D1221D2080B2EB003685A3 /* SDImageCachesManager.h */,
32D1221C2080B2EB003685A3 /* SDImageCachesManager.m */,
2011-12-05 09:48:58 +08:00
);
name = Cache;
sourceTree = "<group>";
};
53922DAB148C56810056699D /* Downloader */ = {
isa = PBXGroup;
children = (
53922D8B148C56230056699D /* SDWebImageDownloader.h */,
53922D8C148C56230056699D /* SDWebImageDownloader.m */,
2012-11-04 16:50:23 +08:00
530E49E316460AE2002868E7 /* SDWebImageDownloaderOperation.h */,
530E49E416460AE2002868E7 /* SDWebImageDownloaderOperation.m */,
2018-03-31 05:34:10 +08:00
32B9B535206ED4230026769D /* SDWebImageDownloaderConfig.h */,
32B9B536206ED4230026769D /* SDWebImageDownloaderConfig.m */,
2018-04-07 13:47:54 +08:00
32F21B4F20788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h */,
32F21B5020788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m */,
2018-05-17 12:00:31 +08:00
321B377D2083290D00C0EA77 /* SDImageLoader.h */,
321B377E2083290D00C0EA77 /* SDImageLoader.m */,
321B377F2083290E00C0EA77 /* SDImageLoadersManager.h */,
321B37802083290E00C0EA77 /* SDImageLoadersManager.m */,
2011-12-05 09:48:58 +08:00
);
name = Downloader;
sourceTree = "<group>";
};
53922DAC148C56DD0056699D /* Utils */ = {
isa = PBXGroup;
children = (
2018-04-14 18:18:45 +08:00
53922D88148C56230056699D /* SDWebImageCompat.h */,
5340674F167780C40042B59E /* SDWebImageCompat.m */,
2018-04-18 12:50:05 +08:00
320CAE132086F50500CFFC80 /* SDWebImageError.h */,
320CAE142086F50500CFFC80 /* SDWebImageError.m */,
2018-04-14 18:18:45 +08:00
530E49E71646388E002868E7 /* SDWebImageOperation.h */,
2018-01-13 18:42:15 +08:00
324DF4B2200A14DC008A84CC /* SDWebImageDefine.h */,
324DF4B3200A14DC008A84CC /* SDWebImageDefine.m */,
2018-01-17 15:20:38 +08:00
325312C6200F09910046BF1E /* SDWebImageTransition.h */,
325312C7200F09910046BF1E /* SDWebImageTransition.m */,
2018-01-20 23:40:16 +08:00
32C0FDDF2013426C001B8F2D /* SDWebImageIndicator.h */,
32C0FDE02013426C001B8F2D /* SDWebImageIndicator.m */,
2011-12-05 09:48:58 +08:00
);
name = Utils;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
2015-10-07 06:58:23 +08:00
00733A491BC487C000A5A117 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
2018-04-18 19:16:45 +08:00
32D122212080B2EB003685A3 /* SDImageCacheDefine.h in Headers */,
2018-03-31 05:34:10 +08:00
32B9B53A206ED4230026769D /* SDWebImageDownloaderConfig.h in Headers */,
2018-04-14 18:18:45 +08:00
328BB6AD2081FEE500760D6C /* SDWebImageCacheSerializer.h in Headers */,
2018-05-17 12:00:31 +08:00
321B37902083290E00C0EA77 /* SDImageLoadersManager.h in Headers */,
2018-06-25 13:52:46 +08:00
329A185C1FFF5DFD008C9A2F /* UIImage+Metadata.h in Headers */,
2016-09-26 00:44:52 +08:00
4369C27A1D9807EC007E863A /* UIView+WebCache.h in Headers */,
2018-04-07 13:47:54 +08:00
32F21B5420788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h in Headers */,
2018-04-26 22:51:50 +08:00
321E60971F38E8ED00405457 /* SDImageIOCoder.h in Headers */,
2016-09-24 05:14:13 +08:00
43A918671D8308FE00B3925F /* SDImageCacheConfig.h in Headers */,
2018-04-26 22:51:50 +08:00
327054D7206CD8B3006EA328 /* SDImageAPNGCoder.h in Headers */,
2018-04-26 22:13:28 +08:00
3290FA071FA478AF0047D20C /* SDImageFrame.h in Headers */,
2018-01-13 18:42:15 +08:00
324DF4B7200A14DC008A84CC /* SDWebImageDefine.h in Headers */,
2018-04-26 22:51:50 +08:00
807A122B1F89636300EC2A9B /* SDImageCodersManager.h in Headers */,
2015-10-07 06:58:23 +08:00
00733A681BC4880E00A5A117 /* SDWebImageManager.h in Headers */,
00733A6C1BC4880E00A5A117 /* UIButton+WebCache.h in Headers */,
2018-04-18 12:50:05 +08:00
320CAE182086F50500CFFC80 /* SDWebImageError.h in Headers */,
2018-04-19 16:22:47 +08:00
32FDE8822088871B008D7530 /* MKAnnotationView+WebCache.h in Headers */,
2016-05-09 03:59:32 +08:00
00733A731BC4880E00A5A117 /* SDWebImage.h in Headers */,
2018-04-15 00:05:09 +08:00
328BB6C42082581100760D6C /* SDDiskCache.h in Headers */,
2015-10-07 06:58:23 +08:00
00733A701BC4880E00A5A117 /* UIImageView+HighlightedWebCache.h in Headers */,
00733A671BC4880E00A5A117 /* SDImageCache.h in Headers */,
00733A711BC4880E00A5A117 /* UIImageView+WebCache.h in Headers */,
00733A631BC4880E00A5A117 /* SDWebImageCompat.h in Headers */,
00733A661BC4880E00A5A117 /* SDWebImageDownloaderOperation.h in Headers */,
2018-04-15 00:05:09 +08:00
328BB6D02082581100760D6C /* SDMemoryCache.h in Headers */,
2018-04-26 22:39:52 +08:00
321E60891F38E8C800405457 /* SDImageCoder.h in Headers */,
2015-10-07 06:58:23 +08:00
00733A721BC4880E00A5A117 /* UIView+WebCacheOperation.h in Headers */,
2018-05-17 12:00:31 +08:00
321B37842083290E00C0EA77 /* SDImageLoader.h in Headers */,
2017-12-21 11:43:46 +08:00
32484778201775F600AF9E5A /* SDAnimatedImage.h in Headers */,
2015-10-07 06:58:23 +08:00
00733A6B1BC4880E00A5A117 /* NSData+ImageContentType.h in Headers */,
2018-01-17 15:20:38 +08:00
325312CB200F09910046BF1E /* SDWebImageTransition.h in Headers */,
2015-10-07 06:58:23 +08:00
00733A6A1BC4880E00A5A117 /* SDWebImagePrefetcher.h in Headers */,
00733A641BC4880E00A5A117 /* SDWebImageOperation.h in Headers */,
2017-12-21 11:43:46 +08:00
32484766201775F600AF9E5A /* SDAnimatedImageView+WebCache.h in Headers */,
2018-04-26 22:51:50 +08:00
321E60A51F38E8F600405457 /* SDImageGIFCoder.h in Headers */,
2018-04-26 22:13:28 +08:00
32CF1C0A1FA496B000004BD1 /* SDImageCoderHelper.h in Headers */,
2015-10-07 06:58:23 +08:00
00733A6E1BC4880E00A5A117 /* UIImage+MultiFormat.h in Headers */,
2017-12-21 11:43:46 +08:00
3248476C201775F600AF9E5A /* SDAnimatedImageView.h in Headers */,
2018-04-18 19:05:10 +08:00
32D122332080B2EB003685A3 /* SDImageCachesManager.h in Headers */,
2018-02-11 23:36:58 +08:00
32F7C0872030719600873181 /* UIImage+Transform.h in Headers */,
2018-01-20 23:40:16 +08:00
32C0FDE42013426C001B8F2D /* SDWebImageIndicator.h in Headers */,
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
321E60C11F38E91700405457 /* UIImage+ForceDecode.h in Headers */,
2018-04-26 21:30:44 +08:00
32F7C0722030114C00873181 /* SDImageTransformer.h in Headers */,
2015-10-07 06:58:23 +08:00
00733A6D1BC4880E00A5A117 /* UIImage+GIF.h in Headers */,
00733A651BC4880E00A5A117 /* SDWebImageDownloader.h in Headers */,
2018-04-14 18:18:45 +08:00
328BB69F2081FED200760D6C /* SDWebImageCacheKeyFilter.h in Headers */,
2015-10-07 06:58:23 +08:00
);
runOnlyForDeploymentPostprocessing = 0;
};
2016-06-13 05:53:08 +08:00
4314D1611D0E0E3B004B36C9 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
2018-04-26 22:13:28 +08:00
3290FA051FA478AF0047D20C /* SDImageFrame.h in Headers */,
2018-04-18 19:16:45 +08:00
32D1221F2080B2EB003685A3 /* SDImageCacheDefine.h in Headers */,
2018-04-26 22:51:50 +08:00
327054D5206CD8B3006EA328 /* SDImageAPNGCoder.h in Headers */,
2018-04-14 18:18:45 +08:00
328BB6AB2081FEE500760D6C /* SDWebImageCacheSerializer.h in Headers */,
2018-03-31 05:34:10 +08:00
32B9B538206ED4230026769D /* SDWebImageDownloaderConfig.h in Headers */,
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
321E60BF1F38E91700405457 /* UIImage+ForceDecode.h in Headers */,
2018-04-26 22:51:50 +08:00
807A12291F89636300EC2A9B /* SDImageCodersManager.h in Headers */,
2018-02-11 23:36:58 +08:00
32F7C0852030719600873181 /* UIImage+Transform.h in Headers */,
2018-04-14 18:18:45 +08:00
328BB69D2081FED200760D6C /* SDWebImageCacheKeyFilter.h in Headers */,
2018-04-26 21:30:44 +08:00
32F7C0702030114C00873181 /* SDImageTransformer.h in Headers */,
2018-04-26 22:13:28 +08:00
32CF1C081FA496B000004BD1 /* SDImageCoderHelper.h in Headers */,
2016-06-13 05:53:08 +08:00
4314D16D1D0E0E3B004B36C9 /* SDImageCache.h in Headers */,
2018-06-25 13:52:46 +08:00
329A185A1FFF5DFD008C9A2F /* UIImage+Metadata.h in Headers */,
2016-06-13 05:53:08 +08:00
4314D16F1D0E0E3B004B36C9 /* NSData+ImageContentType.h in Headers */,
2018-05-17 12:00:31 +08:00
321B378E2083290E00C0EA77 /* SDImageLoadersManager.h in Headers */,
2018-04-26 22:39:52 +08:00
321E60871F38E8C800405457 /* SDImageCoder.h in Headers */,
2018-04-18 12:50:05 +08:00
320CAE162086F50500CFFC80 /* SDWebImageError.h in Headers */,
2017-12-21 11:43:46 +08:00
3248476A201775F600AF9E5A /* SDAnimatedImageView.h in Headers */,
2018-04-26 22:51:50 +08:00
321E60951F38E8ED00405457 /* SDImageIOCoder.h in Headers */,
2016-06-13 05:53:08 +08:00
4314D1721D0E0E3B004B36C9 /* SDWebImageCompat.h in Headers */,
2017-12-21 11:43:46 +08:00
32484776201775F600AF9E5A /* SDAnimatedImage.h in Headers */,
2018-05-17 12:00:31 +08:00
321B37822083290E00C0EA77 /* SDImageLoader.h in Headers */,
2018-01-17 15:20:38 +08:00
325312C9200F09910046BF1E /* SDWebImageTransition.h in Headers */,
2018-04-18 19:05:10 +08:00
32D122312080B2EB003685A3 /* SDImageCachesManager.h in Headers */,
2016-09-24 05:14:13 +08:00
43A918651D8308FE00B3925F /* SDImageCacheConfig.h in Headers */,
2016-06-13 05:53:08 +08:00
4314D1781D0E0E3B004B36C9 /* SDWebImageDownloader.h in Headers */,
2018-01-20 23:40:16 +08:00
32C0FDE22013426C001B8F2D /* SDWebImageIndicator.h in Headers */,
2016-06-13 05:53:08 +08:00
4314D1791D0E0E3B004B36C9 /* SDWebImageManager.h in Headers */,
2018-01-13 18:42:15 +08:00
324DF4B5200A14DC008A84CC /* SDWebImageDefine.h in Headers */,
2018-04-26 22:51:50 +08:00
321E60A31F38E8F600405457 /* SDImageGIFCoder.h in Headers */,
2018-04-19 16:22:47 +08:00
32FDE8A320888789008D7530 /* SDWebImage.h in Headers */,
2018-04-07 13:47:54 +08:00
32F21B5220788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h in Headers */,
2016-09-26 00:44:52 +08:00
4369C2781D9807EC007E863A /* UIView+WebCache.h in Headers */,
2016-06-13 05:53:08 +08:00
4314D17D1D0E0E3B004B36C9 /* SDWebImagePrefetcher.h in Headers */,
2018-04-15 00:05:09 +08:00
328BB6CE2082581100760D6C /* SDMemoryCache.h in Headers */,
2016-06-13 05:53:08 +08:00
4314D17F1D0E0E3B004B36C9 /* UIButton+WebCache.h in Headers */,
2017-12-21 11:43:46 +08:00
32484764201775F600AF9E5A /* SDAnimatedImageView+WebCache.h in Headers */,
2016-06-13 05:53:08 +08:00
4314D1811D0E0E3B004B36C9 /* UIImageView+WebCache.h in Headers */,
4314D1841D0E0E3B004B36C9 /* SDWebImageOperation.h in Headers */,
4314D1851D0E0E3B004B36C9 /* SDWebImageDownloaderOperation.h in Headers */,
4314D1861D0E0E3B004B36C9 /* UIImageView+HighlightedWebCache.h in Headers */,
2018-04-15 00:05:09 +08:00
328BB6C22082581100760D6C /* SDDiskCache.h in Headers */,
2016-06-13 05:53:08 +08:00
4314D18F1D0E0E3B004B36C9 /* UIView+WebCacheOperation.h in Headers */,
4314D1901D0E0E3B004B36C9 /* UIImage+GIF.h in Headers */,
4314D1921D0E0E3B004B36C9 /* UIImage+MultiFormat.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
2016-06-10 12:28:09 +08:00
431BB6CB1D06D2C1006A3455 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
2018-05-17 12:00:31 +08:00
321B37912083290E00C0EA77 /* SDImageLoadersManager.h in Headers */,
2018-04-14 18:18:45 +08:00
328BB6A02081FED200760D6C /* SDWebImageCacheKeyFilter.h in Headers */,
2018-04-26 22:13:28 +08:00
32CF1C0B1FA496B000004BD1 /* SDImageCoderHelper.h in Headers */,
2016-06-10 12:28:09 +08:00
431BB6D91D06D2C1006A3455 /* SDWebImageManager.h in Headers */,
2018-04-26 22:39:52 +08:00
321E608A1F38E8C800405457 /* SDImageCoder.h in Headers */,
2017-12-21 11:43:46 +08:00
32484767201775F600AF9E5A /* SDAnimatedImageView+WebCache.h in Headers */,
2018-05-17 12:00:31 +08:00
321B37852083290E00C0EA77 /* SDImageLoader.h in Headers */,
2018-06-25 13:52:46 +08:00
329A185D1FFF5DFD008C9A2F /* UIImage+Metadata.h in Headers */,
2016-06-10 12:28:09 +08:00
431BB6DC1D06D2C1006A3455 /* UIButton+WebCache.h in Headers */,
431BB6E11D06D2C1006A3455 /* SDWebImage.h in Headers */,
431BB6E21D06D2C1006A3455 /* UIImageView+HighlightedWebCache.h in Headers */,
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
321E60C21F38E91700405457 /* UIImage+ForceDecode.h in Headers */,
2016-06-10 12:28:09 +08:00
431BB6E31D06D2C1006A3455 /* SDImageCache.h in Headers */,
431BB6E61D06D2C1006A3455 /* UIImageView+WebCache.h in Headers */,
2018-04-26 22:13:28 +08:00
3290FA081FA478AF0047D20C /* SDImageFrame.h in Headers */,
2018-04-26 22:51:50 +08:00
321E60A61F38E8F600405457 /* SDImageGIFCoder.h in Headers */,
2016-06-10 12:28:09 +08:00
431BB6E71D06D2C1006A3455 /* SDWebImageCompat.h in Headers */,
2018-04-18 19:05:10 +08:00
32D122342080B2EB003685A3 /* SDImageCachesManager.h in Headers */,
2018-02-11 23:36:58 +08:00
32F7C0882030719600873181 /* UIImage+Transform.h in Headers */,
2016-06-10 12:28:09 +08:00
431BB6E91D06D2C1006A3455 /* SDWebImageDownloaderOperation.h in Headers */,
431BB6EB1D06D2C1006A3455 /* UIView+WebCacheOperation.h in Headers */,
2018-01-17 15:20:38 +08:00
325312CC200F09910046BF1E /* SDWebImageTransition.h in Headers */,
2018-04-15 00:05:09 +08:00
328BB6C52082581100760D6C /* SDDiskCache.h in Headers */,
2016-06-10 12:28:09 +08:00
431BB6EE1D06D2C1006A3455 /* NSData+ImageContentType.h in Headers */,
431BB6EF1D06D2C1006A3455 /* SDWebImagePrefetcher.h in Headers */,
2018-04-14 18:18:45 +08:00
328BB6AE2081FEE500760D6C /* SDWebImageCacheSerializer.h in Headers */,
2018-01-20 23:40:16 +08:00
32C0FDE52013426C001B8F2D /* SDWebImageIndicator.h in Headers */,
2018-04-26 22:51:50 +08:00
321E60981F38E8ED00405457 /* SDImageIOCoder.h in Headers */,
2018-04-15 00:05:09 +08:00
328BB6D12082581100760D6C /* SDMemoryCache.h in Headers */,
2016-09-26 00:44:52 +08:00
4369C27B1D9807EC007E863A /* UIView+WebCache.h in Headers */,
2018-01-13 18:42:15 +08:00
324DF4B8200A14DC008A84CC /* SDWebImageDefine.h in Headers */,
2016-06-10 12:28:09 +08:00
431BB6F01D06D2C1006A3455 /* SDWebImageOperation.h in Headers */,
2018-03-31 05:34:10 +08:00
32B9B53B206ED4230026769D /* SDWebImageDownloaderConfig.h in Headers */,
2016-06-10 12:28:09 +08:00
431BB6F61D06D2C1006A3455 /* UIImage+MultiFormat.h in Headers */,
2018-04-18 12:50:05 +08:00
320CAE192086F50500CFFC80 /* SDWebImageError.h in Headers */,
2018-04-07 13:47:54 +08:00
32F21B5520788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h in Headers */,
2018-04-26 22:51:50 +08:00
807A122C1F89636300EC2A9B /* SDImageCodersManager.h in Headers */,
2016-06-10 12:28:09 +08:00
431BB6F91D06D2C1006A3455 /* UIImage+GIF.h in Headers */,
2018-04-26 21:30:44 +08:00
32F7C0732030114C00873181 /* SDImageTransformer.h in Headers */,
2016-06-10 12:28:09 +08:00
431BB6FA1D06D2C1006A3455 /* SDWebImageDownloader.h in Headers */,
2017-12-21 11:43:46 +08:00
3248476D201775F600AF9E5A /* SDAnimatedImageView.h in Headers */,
2018-04-18 19:16:45 +08:00
32D122222080B2EB003685A3 /* SDImageCacheDefine.h in Headers */,
2017-12-21 11:43:46 +08:00
32484779201775F600AF9E5A /* SDAnimatedImage.h in Headers */,
2018-04-26 22:51:50 +08:00
327054D8206CD8B3006EA328 /* SDImageAPNGCoder.h in Headers */,
2016-09-24 05:14:13 +08:00
43A918681D8308FE00B3925F /* SDImageCacheConfig.h in Headers */,
2016-06-10 12:28:09 +08:00
);
runOnlyForDeploymentPostprocessing = 0;
};
2016-06-13 04:23:53 +08:00
4397D2B91D0DDD8C00BB2784 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
2018-04-26 22:51:50 +08:00
321E60A71F38E8F600405457 /* SDImageGIFCoder.h in Headers */,
2018-01-13 18:42:15 +08:00
324DF4B9200A14DC008A84CC /* SDWebImageDefine.h in Headers */,
2018-02-11 23:36:58 +08:00
32F7C0892030719600873181 /* UIImage+Transform.h in Headers */,
2018-04-18 19:16:45 +08:00
32D122232080B2EB003685A3 /* SDImageCacheDefine.h in Headers */,
2018-03-31 05:34:10 +08:00
32B9B53C206ED4230026769D /* SDWebImageDownloaderConfig.h in Headers */,
2018-04-14 18:18:45 +08:00
328BB6AF2081FEE500760D6C /* SDWebImageCacheSerializer.h in Headers */,
2018-05-17 12:00:31 +08:00
321B37922083290E00C0EA77 /* SDImageLoadersManager.h in Headers */,
2016-06-13 04:23:53 +08:00
4397D2C01D0DDD8C00BB2784 /* SDWebImage.h in Headers */,
2018-04-07 13:47:54 +08:00
32F21B5620788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h in Headers */,
2016-06-13 04:23:53 +08:00
4397D2C31D0DDD8C00BB2784 /* SDWebImageManager.h in Headers */,
2018-04-26 22:51:50 +08:00
327054D9206CD8B3006EA328 /* SDImageAPNGCoder.h in Headers */,
321E60991F38E8ED00405457 /* SDImageIOCoder.h in Headers */,
2016-06-13 04:23:53 +08:00
4397D2C41D0DDD8C00BB2784 /* SDImageCache.h in Headers */,
2017-12-21 11:43:46 +08:00
3248476E201775F600AF9E5A /* SDAnimatedImageView.h in Headers */,
2016-06-13 04:23:53 +08:00
4397D2C51D0DDD8C00BB2784 /* UIImageView+WebCache.h in Headers */,
2018-04-26 22:13:28 +08:00
3290FA091FA478AF0047D20C /* SDImageFrame.h in Headers */,
2016-09-26 00:44:52 +08:00
4369C27C1D9807EC007E863A /* UIView+WebCache.h in Headers */,
2016-06-13 04:23:53 +08:00
4397D2C81D0DDD8C00BB2784 /* SDWebImageCompat.h in Headers */,
4397D2CB1D0DDD8C00BB2784 /* UIImageView+HighlightedWebCache.h in Headers */,
2018-04-18 12:50:05 +08:00
320CAE1A2086F50500CFFC80 /* SDWebImageError.h in Headers */,
2018-04-19 16:22:47 +08:00
32FDE8832088871B008D7530 /* MKAnnotationView+WebCache.h in Headers */,
2016-06-13 04:23:53 +08:00
4397D2D01D0DDD8C00BB2784 /* SDWebImageDownloaderOperation.h in Headers */,
2017-12-21 11:43:46 +08:00
3248477A201775F600AF9E5A /* SDAnimatedImage.h in Headers */,
2018-06-25 13:52:46 +08:00
329A185E1FFF5DFD008C9A2F /* UIImage+Metadata.h in Headers */,
2018-02-18 11:34:06 +08:00
320224BB203979BA00E9F285 /* SDAnimatedImageRep.h in Headers */,
2018-04-15 00:05:09 +08:00
328BB6C62082581100760D6C /* SDDiskCache.h in Headers */,
2018-04-26 22:13:28 +08:00
32CF1C0C1FA496B000004BD1 /* SDImageCoderHelper.h in Headers */,
2016-09-24 05:14:13 +08:00
43A918691D8308FE00B3925F /* SDImageCacheConfig.h in Headers */,
2016-06-13 04:23:53 +08:00
4397D2D81D0DDD8C00BB2784 /* UIButton+WebCache.h in Headers */,
2018-04-26 21:30:44 +08:00
32F7C0742030114C00873181 /* SDImageTransformer.h in Headers */,
2018-04-15 00:05:09 +08:00
328BB6D22082581100760D6C /* SDMemoryCache.h in Headers */,
2018-05-17 12:00:31 +08:00
321B37862083290E00C0EA77 /* SDImageLoader.h in Headers */,
2016-06-13 04:23:53 +08:00
4397D2D91D0DDD8C00BB2784 /* SDWebImagePrefetcher.h in Headers */,
2018-01-20 23:40:16 +08:00
32C0FDE62013426C001B8F2D /* SDWebImageIndicator.h in Headers */,
2016-06-13 04:23:53 +08:00
4397D2DA1D0DDD8C00BB2784 /* UIView+WebCacheOperation.h in Headers */,
4397D2DB1D0DDD8C00BB2784 /* UIImage+MultiFormat.h in Headers */,
4397D2DC1D0DDD8C00BB2784 /* SDWebImageOperation.h in Headers */,
2018-04-18 21:14:34 +08:00
4397D2F61D0DE2DF00BB2784 /* NSImage+Compatibility.h in Headers */,
2016-06-13 04:23:53 +08:00
4397D2E11D0DDD8C00BB2784 /* SDWebImageDownloader.h in Headers */,
2018-04-26 22:39:52 +08:00
321E608B1F38E8C800405457 /* SDImageCoder.h in Headers */,
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
321E60C31F38E91700405457 /* UIImage+ForceDecode.h in Headers */,
2018-04-18 19:05:10 +08:00
32D122352080B2EB003685A3 /* SDImageCachesManager.h in Headers */,
2017-12-21 11:43:46 +08:00
32484768201775F600AF9E5A /* SDAnimatedImageView+WebCache.h in Headers */,
2018-01-17 15:20:38 +08:00
325312CD200F09910046BF1E /* SDWebImageTransition.h in Headers */,
2016-06-13 04:23:53 +08:00
4397D2EA1D0DDD8C00BB2784 /* UIImage+GIF.h in Headers */,
4397D2EB1D0DDD8C00BB2784 /* NSData+ImageContentType.h in Headers */,
2018-01-19 15:46:05 +08:00
321DB3612011D4D70015D2CB /* NSButton+WebCache.h in Headers */,
2018-04-26 22:51:50 +08:00
807A122D1F89636300EC2A9B /* SDImageCodersManager.h in Headers */,
2018-04-14 18:18:45 +08:00
328BB6A12081FED200760D6C /* SDWebImageCacheKeyFilter.h in Headers */,
2016-06-13 04:23:53 +08:00
);
runOnlyForDeploymentPostprocessing = 0;
};
2015-03-15 03:06:39 +08:00
4A2CADFC1AB4BB5300B6BC39 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
2018-04-18 19:16:45 +08:00
32D122202080B2EB003685A3 /* SDImageCacheDefine.h in Headers */,
2018-03-31 05:34:10 +08:00
32B9B539206ED4230026769D /* SDWebImageDownloaderConfig.h in Headers */,
2018-04-14 18:18:45 +08:00
328BB6AC2081FEE500760D6C /* SDWebImageCacheSerializer.h in Headers */,
2018-05-17 12:00:31 +08:00
321B378F2083290E00C0EA77 /* SDImageLoadersManager.h in Headers */,
2018-06-25 13:52:46 +08:00
329A185B1FFF5DFD008C9A2F /* UIImage+Metadata.h in Headers */,
2016-09-26 00:44:52 +08:00
4369C2791D9807EC007E863A /* UIView+WebCache.h in Headers */,
2018-04-07 13:47:54 +08:00
32F21B5320788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h in Headers */,
2018-04-26 22:51:50 +08:00
321E60961F38E8ED00405457 /* SDImageIOCoder.h in Headers */,
2016-05-09 03:59:32 +08:00
4A2CAE041AB4BB5400B6BC39 /* SDWebImage.h in Headers */,
2018-04-26 22:51:50 +08:00
327054D6206CD8B3006EA328 /* SDImageAPNGCoder.h in Headers */,
2016-09-24 05:14:13 +08:00
43A918661D8308FE00B3925F /* SDImageCacheConfig.h in Headers */,
2018-04-26 22:13:28 +08:00
3290FA061FA478AF0047D20C /* SDImageFrame.h in Headers */,
2018-01-13 18:42:15 +08:00
324DF4B6200A14DC008A84CC /* SDWebImageDefine.h in Headers */,
2018-04-26 22:51:50 +08:00
807A122A1F89636300EC2A9B /* SDImageCodersManager.h in Headers */,
2015-03-15 03:06:39 +08:00
4A2CAE211AB4BB7000B6BC39 /* SDWebImageManager.h in Headers */,
4A2CAE1F1AB4BB6C00B6BC39 /* SDImageCache.h in Headers */,
4A2CAE351AB4BB7500B6BC39 /* UIImageView+WebCache.h in Headers */,
2018-04-18 12:50:05 +08:00
320CAE172086F50500CFFC80 /* SDWebImageError.h in Headers */,
2015-03-15 03:06:39 +08:00
4A2CAE181AB4BB6400B6BC39 /* SDWebImageCompat.h in Headers */,
2018-04-19 16:22:47 +08:00
32FDE8812088871B008D7530 /* MKAnnotationView+WebCache.h in Headers */,
2015-03-15 03:06:39 +08:00
4A2CAE331AB4BB7500B6BC39 /* UIImageView+HighlightedWebCache.h in Headers */,
2018-04-15 00:05:09 +08:00
328BB6C32082581100760D6C /* SDDiskCache.h in Headers */,
2015-03-15 03:06:39 +08:00
4A2CAE1D1AB4BB6800B6BC39 /* SDWebImageDownloaderOperation.h in Headers */,
4A2CAE2B1AB4BB7500B6BC39 /* UIButton+WebCache.h in Headers */,
4A2CAE251AB4BB7000B6BC39 /* SDWebImagePrefetcher.h in Headers */,
2018-04-15 00:05:09 +08:00
328BB6CF2082581100760D6C /* SDMemoryCache.h in Headers */,
2018-04-26 22:39:52 +08:00
321E60881F38E8C800405457 /* SDImageCoder.h in Headers */,
2015-03-15 03:06:39 +08:00
4A2CAE371AB4BB7500B6BC39 /* UIView+WebCacheOperation.h in Headers */,
2018-05-17 12:00:31 +08:00
321B37832083290E00C0EA77 /* SDImageLoader.h in Headers */,
2017-12-21 11:43:46 +08:00
32484777201775F600AF9E5A /* SDAnimatedImage.h in Headers */,
2015-03-15 03:06:39 +08:00
4A2CAE2F1AB4BB7500B6BC39 /* UIImage+MultiFormat.h in Headers */,
2018-01-17 15:20:38 +08:00
325312CA200F09910046BF1E /* SDWebImageTransition.h in Headers */,
2015-03-15 03:06:39 +08:00
4A2CAE1A1AB4BB6400B6BC39 /* SDWebImageOperation.h in Headers */,
2017-12-21 11:43:46 +08:00
32484765201775F600AF9E5A /* SDAnimatedImageView+WebCache.h in Headers */,
2018-04-26 22:51:50 +08:00
321E60A41F38E8F600405457 /* SDImageGIFCoder.h in Headers */,
2018-04-26 22:13:28 +08:00
32CF1C091FA496B000004BD1 /* SDImageCoderHelper.h in Headers */,
2015-03-15 03:06:39 +08:00
4A2CAE1B1AB4BB6800B6BC39 /* SDWebImageDownloader.h in Headers */,
2017-12-21 11:43:46 +08:00
3248476B201775F600AF9E5A /* SDAnimatedImageView.h in Headers */,
2018-04-18 19:05:10 +08:00
32D122322080B2EB003685A3 /* SDImageCachesManager.h in Headers */,
2018-02-11 23:36:58 +08:00
32F7C0862030719600873181 /* UIImage+Transform.h in Headers */,
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
321E60C01F38E91700405457 /* UIImage+ForceDecode.h in Headers */,
2018-01-20 23:40:16 +08:00
32C0FDE32013426C001B8F2D /* SDWebImageIndicator.h in Headers */,
2018-04-26 21:30:44 +08:00
32F7C0712030114C00873181 /* SDImageTransformer.h in Headers */,
2015-03-15 03:06:39 +08:00
4A2CAE2D1AB4BB7500B6BC39 /* UIImage+GIF.h in Headers */,
4A2CAE291AB4BB7500B6BC39 /* NSData+ImageContentType.h in Headers */,
2018-04-14 18:18:45 +08:00
328BB69E2081FED200760D6C /* SDWebImageCacheKeyFilter.h in Headers */,
2015-03-15 03:06:39 +08:00
);
runOnlyForDeploymentPostprocessing = 0;
};
2012-05-10 06:30:48 +08:00
53761315155AD0D5005750A4 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
2018-04-26 22:13:28 +08:00
32CF1C071FA496B000004BD1 /* SDImageCoderHelper.h in Headers */,
2018-02-11 23:36:58 +08:00
32F7C0842030719600873181 /* UIImage+Transform.h in Headers */,
2012-05-10 06:30:48 +08:00
53761316155AD0D5005750A4 /* SDImageCache.h in Headers */,
2018-01-17 15:20:38 +08:00
325312C8200F09910046BF1E /* SDWebImageTransition.h in Headers */,
2018-01-20 23:40:16 +08:00
32C0FDE12013426C001B8F2D /* SDWebImageIndicator.h in Headers */,
2018-04-26 22:51:50 +08:00
321E60A21F38E8F600405457 /* SDImageGIFCoder.h in Headers */,
2014-01-22 01:57:50 +08:00
5D5B9142188EE8DD006D06BD /* NSData+ImageContentType.h in Headers */,
2018-04-15 00:05:09 +08:00
328BB6C12082581100760D6C /* SDDiskCache.h in Headers */,
2012-05-10 06:30:48 +08:00
53761318155AD0D5005750A4 /* SDWebImageCompat.h in Headers */,
2018-04-26 22:13:28 +08:00
3290FA041FA478AF0047D20C /* SDImageFrame.h in Headers */,
2018-04-26 22:51:50 +08:00
807A12281F89636300EC2A9B /* SDImageCodersManager.h in Headers */,
2018-03-31 05:34:10 +08:00
32B9B537206ED4230026769D /* SDWebImageDownloaderConfig.h in Headers */,
2017-12-21 11:43:46 +08:00
32484775201775F600AF9E5A /* SDAnimatedImage.h in Headers */,
2018-04-26 22:51:50 +08:00
321E60941F38E8ED00405457 /* SDImageIOCoder.h in Headers */,
2018-06-25 13:52:46 +08:00
329A18591FFF5DFD008C9A2F /* UIImage+Metadata.h in Headers */,
2018-04-18 19:05:10 +08:00
32D122302080B2EB003685A3 /* SDImageCachesManager.h in Headers */,
2012-05-10 06:30:48 +08:00
5376131A155AD0D5005750A4 /* SDWebImageDownloader.h in Headers */,
2018-04-15 00:05:09 +08:00
328BB6CD2082581100760D6C /* SDMemoryCache.h in Headers */,
2016-09-26 00:44:52 +08:00
4369C2771D9807EC007E863A /* UIView+WebCache.h in Headers */,
2018-04-14 18:18:45 +08:00
328BB6AA2081FEE500760D6C /* SDWebImageCacheSerializer.h in Headers */,
2018-04-07 13:47:54 +08:00
32F21B5120788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h in Headers */,
2012-05-10 06:30:48 +08:00
5376131C155AD0D5005750A4 /* SDWebImageManager.h in Headers */,
2018-04-19 16:22:47 +08:00
32FDE8802088871B008D7530 /* MKAnnotationView+WebCache.h in Headers */,
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
321E60BE1F38E91700405457 /* UIImage+ForceDecode.h in Headers */,
2012-05-10 06:30:48 +08:00
5376131E155AD0D5005750A4 /* SDWebImagePrefetcher.h in Headers */,
2018-04-26 21:30:44 +08:00
32F7C06F2030114C00873181 /* SDImageTransformer.h in Headers */,
2018-05-17 12:00:31 +08:00
321B378D2083290E00C0EA77 /* SDImageLoadersManager.h in Headers */,
2018-04-19 16:22:47 +08:00
32FDE8A220888789008D7530 /* SDWebImage.h in Headers */,
2018-01-13 18:42:15 +08:00
324DF4B4200A14DC008A84CC /* SDWebImageDefine.h in Headers */,
2012-05-10 06:30:48 +08:00
5376131F155AD0D5005750A4 /* UIButton+WebCache.h in Headers */,
2018-04-26 22:51:50 +08:00
327054D4206CD8B3006EA328 /* SDImageAPNGCoder.h in Headers */,
2012-05-10 06:30:48 +08:00
53761320155AD0D5005750A4 /* UIImageView+WebCache.h in Headers */,
2018-04-14 18:18:45 +08:00
328BB69C2081FED200760D6C /* SDWebImageCacheKeyFilter.h in Headers */,
2012-11-04 16:50:23 +08:00
530E49E816464C25002868E7 /* SDWebImageOperation.h in Headers */,
2017-12-21 11:43:46 +08:00
32484769201775F600AF9E5A /* SDAnimatedImageView.h in Headers */,
2012-11-04 16:50:23 +08:00
530E49EA16464C7C002868E7 /* SDWebImageDownloaderOperation.h in Headers */,
2014-03-03 12:32:27 +08:00
ABBE71A718C43B4D00B75E91 /* UIImageView+HighlightedWebCache.h in Headers */,
2018-04-18 12:50:05 +08:00
320CAE152086F50500CFFC80 /* SDWebImageError.h in Headers */,
2018-05-17 12:00:31 +08:00
321B37812083290E00C0EA77 /* SDImageLoader.h in Headers */,
2018-04-26 22:39:52 +08:00
321E60861F38E8C800405457 /* SDImageCoder.h in Headers */,
2017-12-21 11:43:46 +08:00
32484763201775F600AF9E5A /* SDAnimatedImageView+WebCache.h in Headers */,
2018-04-18 19:16:45 +08:00
32D1221E2080B2EB003685A3 /* SDImageCacheDefine.h in Headers */,
2014-06-19 22:46:37 +08:00
AB615303192DA24600A2D8E9 /* UIView+WebCacheOperation.h in Headers */,
2013-04-29 05:06:54 +08:00
A18A6CC7172DC28500419892 /* UIImage+GIF.h in Headers */,
2013-06-08 01:39:07 +08:00
53EDFB8A17623F7C00698166 /* UIImage+MultiFormat.h in Headers */,
2016-09-24 05:14:13 +08:00
43A918641D8308FE00B3925F /* SDImageCacheConfig.h in Headers */,
2011-12-05 09:48:58 +08:00
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
2016-05-09 03:59:32 +08:00
00733A4B1BC487C000A5A117 /* SDWebImage tvOS */ = {
2015-10-07 06:58:23 +08:00
isa = PBXNativeTarget;
2016-05-09 03:59:32 +08:00
buildConfigurationList = 00733A531BC487C100A5A117 /* Build configuration list for PBXNativeTarget "SDWebImage tvOS" */;
2015-10-07 06:58:23 +08:00
buildPhases = (
00733A471BC487C000A5A117 /* Sources */,
00733A481BC487C000A5A117 /* Frameworks */,
00733A491BC487C000A5A117 /* Headers */,
00733A4A1BC487C000A5A117 /* Resources */,
);
buildRules = (
);
dependencies = (
);
2016-05-09 03:59:32 +08:00
name = "SDWebImage tvOS";
2015-10-07 06:58:23 +08:00
productName = "WebImage tvOS";
2016-05-09 03:59:32 +08:00
productReference = 00733A4C1BC487C000A5A117 /* SDWebImage.framework */;
2015-10-07 06:58:23 +08:00
productType = "com.apple.product-type.framework";
};
2016-06-13 05:53:08 +08:00
4314D11B1D0E0E3B004B36C9 /* SDWebImage watchOS static */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4314D1961D0E0E3B004B36C9 /* Build configuration list for PBXNativeTarget "SDWebImage watchOS static" */;
buildPhases = (
4314D11C1D0E0E3B004B36C9 /* Sources */,
4314D15D1D0E0E3B004B36C9 /* Frameworks */,
4314D1611D0E0E3B004B36C9 /* Headers */,
4314D1951D0E0E3B004B36C9 /* Prepare Framework */,
);
buildRules = (
);
dependencies = (
);
name = "SDWebImage watchOS static";
productName = SDWebImage;
productReference = 4314D1991D0E0E3B004B36C9 /* libSDWebImage watchOS static.a */;
productType = "com.apple.product-type.library.static";
};
2016-06-10 12:28:09 +08:00
431BB6891D06D2C1006A3455 /* SDWebImage watchOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 431BB7001D06D2C1006A3455 /* Build configuration list for PBXNativeTarget "SDWebImage watchOS" */;
buildPhases = (
431BB68A1D06D2C1006A3455 /* Sources */,
431BB6CA1D06D2C1006A3455 /* Frameworks */,
431BB6CB1D06D2C1006A3455 /* Headers */,
431BB6FF1D06D2C1006A3455 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = "SDWebImage watchOS";
productName = "WebImage tvOS";
productReference = 431BB7031D06D2C1006A3455 /* SDWebImage.framework */;
productType = "com.apple.product-type.framework";
};
2016-06-13 04:23:53 +08:00
4397D2761D0DDD8C00BB2784 /* SDWebImage OSX */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4397D2EF1D0DDD8C00BB2784 /* Build configuration list for PBXNativeTarget "SDWebImage OSX" */;
buildPhases = (
4397D2771D0DDD8C00BB2784 /* Sources */,
4397D2B81D0DDD8C00BB2784 /* Frameworks */,
4397D2B91D0DDD8C00BB2784 /* Headers */,
4397D2EE1D0DDD8C00BB2784 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = "SDWebImage OSX";
productName = WebImage;
productReference = 4397D2F21D0DDD8C00BB2784 /* SDWebImage.framework */;
productType = "com.apple.product-type.framework";
};
2016-05-09 03:59:32 +08:00
4A2CADFE1AB4BB5300B6BC39 /* SDWebImage iOS */ = {
2015-03-15 03:06:39 +08:00
isa = PBXNativeTarget;
2016-05-09 03:59:32 +08:00
buildConfigurationList = 4A2CAE121AB4BB5400B6BC39 /* Build configuration list for PBXNativeTarget "SDWebImage iOS" */;
2015-03-15 03:06:39 +08:00
buildPhases = (
4A2CADFA1AB4BB5300B6BC39 /* Sources */,
4A2CADFB1AB4BB5300B6BC39 /* Frameworks */,
4A2CADFC1AB4BB5300B6BC39 /* Headers */,
4A2CADFD1AB4BB5300B6BC39 /* Resources */,
);
buildRules = (
);
dependencies = (
);
2016-05-09 03:59:32 +08:00
name = "SDWebImage iOS";
2015-03-15 03:06:39 +08:00
productName = WebImage;
2016-05-09 03:59:32 +08:00
productReference = 4A2CADFF1AB4BB5300B6BC39 /* SDWebImage.framework */;
2015-03-15 03:06:39 +08:00
productType = "com.apple.product-type.framework";
};
2016-06-13 05:53:08 +08:00
53761307155AD0D5005750A4 /* SDWebImage iOS static */ = {
2012-05-10 06:30:48 +08:00
isa = PBXNativeTarget;
2016-06-13 05:53:08 +08:00
buildConfigurationList = 53761322155AD0D5005750A4 /* Build configuration list for PBXNativeTarget "SDWebImage iOS static" */;
2012-05-10 06:30:48 +08:00
buildPhases = (
53761308155AD0D5005750A4 /* Sources */,
53761311155AD0D5005750A4 /* Frameworks */,
53761315155AD0D5005750A4 /* Headers */,
2012-10-19 19:34:17 +08:00
539F912A16316D0500160719 /* Prepare Framework */,
2012-05-10 06:30:48 +08:00
);
buildRules = (
);
dependencies = (
);
2016-06-13 05:53:08 +08:00
name = "SDWebImage iOS static";
2011-12-05 09:48:58 +08:00
productName = SDWebImage;
2016-06-13 05:53:08 +08:00
productReference = 53761325155AD0D5005750A4 /* libSDWebImage iOS static.a */;
2011-12-05 09:48:58 +08:00
productType = "com.apple.product-type.library.static";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
53922D66148C55810056699D /* Project object */ = {
isa = PBXProject;
attributes = {
2018-08-29 18:54:48 +08:00
LastUpgradeCheck = 0940;
2011-12-05 09:48:58 +08:00
ORGANIZATIONNAME = Dailymotion;
2015-03-15 03:06:39 +08:00
TargetAttributes = {
2015-10-07 06:58:23 +08:00
00733A4B1BC487C000A5A117 = {
CreatedOnToolsVersion = 7.1;
};
2015-03-15 03:06:39 +08:00
4A2CADFE1AB4BB5300B6BC39 = {
CreatedOnToolsVersion = 6.3;
};
};
2011-12-05 09:48:58 +08:00
};
buildConfigurationList = 53922D69148C55810056699D /* Build configuration list for PBXProject "SDWebImage" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 53922D64148C55810056699D;
productRefGroup = 53922D70148C55820056699D /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
2016-06-13 05:53:08 +08:00
53761307155AD0D5005750A4 /* SDWebImage iOS static */,
4314D11B1D0E0E3B004B36C9 /* SDWebImage watchOS static */,
2016-05-09 03:59:32 +08:00
4A2CADFE1AB4BB5300B6BC39 /* SDWebImage iOS */,
00733A4B1BC487C000A5A117 /* SDWebImage tvOS */,
2016-06-10 12:28:09 +08:00
431BB6891D06D2C1006A3455 /* SDWebImage watchOS */,
2016-06-13 04:23:53 +08:00
4397D2761D0DDD8C00BB2784 /* SDWebImage OSX */,
2011-12-05 09:48:58 +08:00
);
};
/* End PBXProject section */
2015-03-15 03:06:39 +08:00
/* Begin PBXResourcesBuildPhase section */
2015-10-07 06:58:23 +08:00
00733A4A1BC487C000A5A117 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
2016-06-10 12:28:09 +08:00
431BB6FF1D06D2C1006A3455 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
2016-06-13 04:23:53 +08:00
4397D2EE1D0DDD8C00BB2784 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
2015-03-15 03:06:39 +08:00
4A2CADFD1AB4BB5300B6BC39 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
2012-10-19 19:34:17 +08:00
/* Begin PBXShellScriptBuildPhase section */
2016-06-13 05:53:08 +08:00
4314D1951D0E0E3B004B36C9 /* Prepare Framework */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Prepare Framework";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "set -e\n\nmkdir -p \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.framework/Versions/A/Headers\"\n\n# Link the \"Current\" version to \"A\"\n/bin/ln -sfh A \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.framework/Versions/Current\"\n/bin/ln -sfh Versions/Current/Headers \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.framework/Headers\"\n/bin/ln -sfh \"Versions/Current/${PRODUCT_NAME}\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.framework/${PRODUCT_NAME}\"\n\n# The -a ensures that the headers maintain the source modification date so that we don't constantly\n# cause propagating rebuilds of files that import these headers.\n/bin/cp -a \"${TARGET_BUILD_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}/\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.framework/Versions/A/Headers\"\n";
};
2012-10-19 19:34:17 +08:00
539F912A16316D0500160719 /* Prepare Framework */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Prepare Framework";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "set -e\n\nmkdir -p \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.framework/Versions/A/Headers\"\n\n# Link the \"Current\" version to \"A\"\n/bin/ln -sfh A \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.framework/Versions/Current\"\n/bin/ln -sfh Versions/Current/Headers \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.framework/Headers\"\n/bin/ln -sfh \"Versions/Current/${PRODUCT_NAME}\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.framework/${PRODUCT_NAME}\"\n\n# The -a ensures that the headers maintain the source modification date so that we don't constantly\n# cause propagating rebuilds of files that import these headers.\n/bin/cp -a \"${TARGET_BUILD_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}/\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.framework/Versions/A/Headers\"\n";
};
/* End PBXShellScriptBuildPhase section */
2011-12-05 09:48:58 +08:00
/* Begin PBXSourcesBuildPhase section */
2015-10-07 06:58:23 +08:00
00733A471BC487C000A5A117 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2018-04-26 22:13:28 +08:00
3290FA0D1FA478AF0047D20C /* SDImageFrame.m in Sources */,
2015-10-07 06:58:23 +08:00
00733A561BC4880000A5A117 /* SDWebImageDownloaderOperation.m in Sources */,
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
321E60C71F38E91700405457 /* UIImage+ForceDecode.m in Sources */,
2018-04-14 18:18:45 +08:00
328BB6A52081FED200760D6C /* SDWebImageCacheKeyFilter.m in Sources */,
2015-10-07 06:58:23 +08:00
00733A5A1BC4880000A5A117 /* SDWebImagePrefetcher.m in Sources */,
2018-04-18 12:50:05 +08:00
320CAE1E2086F50500CFFC80 /* SDWebImageError.m in Sources */,
2018-04-26 22:13:28 +08:00
32CF1C101FA496B000004BD1 /* SDImageCoderHelper.m in Sources */,
2018-04-15 00:05:09 +08:00
328BB6D62082581100760D6C /* SDMemoryCache.m in Sources */,
2018-04-26 21:30:44 +08:00
32F7C0782030114C00873181 /* SDImageTransformer.m in Sources */,
2015-10-07 06:58:23 +08:00
00733A5B1BC4880000A5A117 /* NSData+ImageContentType.m in Sources */,
2018-04-18 21:14:34 +08:00
3237F9E920161AE000A88143 /* NSImage+Compatibility.m in Sources */,
2018-01-20 23:40:16 +08:00
32C0FDEA2013426C001B8F2D /* SDWebImageIndicator.m in Sources */,
2018-04-07 13:47:54 +08:00
32F21B5A20788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m in Sources */,
2015-10-07 06:58:23 +08:00
00733A551BC4880000A5A117 /* SDWebImageDownloader.m in Sources */,
2018-05-17 12:00:31 +08:00
321B37962083290E00C0EA77 /* SDImageLoadersManager.m in Sources */,
2018-02-11 23:36:58 +08:00
32F7C0812030719600873181 /* UIImage+Transform.m in Sources */,
2018-04-26 22:51:50 +08:00
327054DD206CD8B3006EA328 /* SDImageAPNGCoder.m in Sources */,
2018-01-17 15:20:38 +08:00
325312D1200F09910046BF1E /* SDWebImageTransition.m in Sources */,
2018-04-26 22:51:50 +08:00
321E609D1F38E8ED00405457 /* SDImageIOCoder.m in Sources */,
2015-10-07 06:58:23 +08:00
00733A611BC4880000A5A117 /* UIImageView+WebCache.m in Sources */,
2018-04-15 00:05:09 +08:00
328BB6CA2082581100760D6C /* SDDiskCache.m in Sources */,
2017-12-21 11:43:46 +08:00
32484760201775F600AF9E5A /* SDAnimatedImageView.m in Sources */,
2018-04-18 19:05:10 +08:00
32D1222D2080B2EB003685A3 /* SDImageCachesManager.m in Sources */,
2018-03-31 05:34:10 +08:00
32B9B540206ED4230026769D /* SDWebImageDownloaderConfig.m in Sources */,
2017-12-21 11:43:46 +08:00
3248477E201775F600AF9E5A /* SDAnimatedImageView+WebCache.m in Sources */,
2016-09-24 05:14:13 +08:00
43A9186E1D8308FE00B3925F /* SDImageCacheConfig.m in Sources */,
2018-04-26 22:51:50 +08:00
321E60AB1F38E8F600405457 /* SDImageGIFCoder.m in Sources */,
2018-04-26 22:39:52 +08:00
321E608F1F38E8C800405457 /* SDImageCoder.m in Sources */,
2015-10-07 06:58:23 +08:00
00733A581BC4880000A5A117 /* SDWebImageManager.m in Sources */,
00733A541BC4880000A5A117 /* SDWebImageCompat.m in Sources */,
2018-04-19 16:22:47 +08:00
32FDE87E2088871B008D7530 /* MKAnnotationView+WebCache.m in Sources */,
2015-10-07 06:58:23 +08:00
00733A621BC4880000A5A117 /* UIView+WebCacheOperation.m in Sources */,
2018-05-17 12:00:31 +08:00
321B378A2083290E00C0EA77 /* SDImageLoader.m in Sources */,
2017-12-21 11:43:46 +08:00
32484772201775F600AF9E5A /* SDAnimatedImage.m in Sources */,
2018-04-26 22:51:50 +08:00
807A12311F89636300EC2A9B /* SDImageCodersManager.m in Sources */,
2018-04-18 19:16:45 +08:00
32D122272080B2EB003685A3 /* SDImageCacheDefine.m in Sources */,
2015-10-07 06:58:23 +08:00
00733A5C1BC4880000A5A117 /* UIButton+WebCache.m in Sources */,
2018-01-13 18:42:15 +08:00
324DF4BD200A14DC008A84CC /* SDWebImageDefine.m in Sources */,
2015-10-07 06:58:23 +08:00
00733A5D1BC4880000A5A117 /* UIImage+GIF.m in Sources */,
2018-03-29 20:28:50 +08:00
32EB6D90206D132E005CAEF6 /* SDAnimatedImageRep.m in Sources */,
2015-10-07 06:58:23 +08:00
00733A571BC4880000A5A117 /* SDImageCache.m in Sources */,
2016-09-26 00:44:52 +08:00
4369C2811D9807EC007E863A /* UIView+WebCache.m in Sources */,
2015-10-07 06:58:23 +08:00
00733A5E1BC4880000A5A117 /* UIImage+MultiFormat.m in Sources */,
2018-06-25 13:52:46 +08:00
329A18621FFF5DFD008C9A2F /* UIImage+Metadata.m in Sources */,
2018-04-14 18:18:45 +08:00
328BB6B32081FEE500760D6C /* SDWebImageCacheSerializer.m in Sources */,
2015-10-07 06:58:23 +08:00
00733A601BC4880000A5A117 /* UIImageView+HighlightedWebCache.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
2016-06-13 05:53:08 +08:00
4314D11C1D0E0E3B004B36C9 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4314D1231D0E0E3B004B36C9 /* SDImageCache.m in Sources */,
2018-06-25 13:52:46 +08:00
329A18601FFF5DFD008C9A2F /* UIImage+Metadata.m in Sources */,
2018-03-29 20:28:50 +08:00
32EB6D92206D132E005CAEF6 /* SDAnimatedImageRep.m in Sources */,
2018-04-26 22:39:52 +08:00
321E608D1F38E8C800405457 /* SDImageCoder.m in Sources */,
2016-06-13 05:53:08 +08:00
4314D1311D0E0E3B004B36C9 /* SDWebImageDownloader.m in Sources */,
2016-09-26 00:44:52 +08:00
4369C27F1D9807EC007E863A /* UIView+WebCache.m in Sources */,
2018-04-18 19:16:45 +08:00
32D122252080B2EB003685A3 /* SDImageCacheDefine.m in Sources */,
2018-04-26 22:13:28 +08:00
3290FA0B1FA478AF0047D20C /* SDImageFrame.m in Sources */,
2018-04-26 22:51:50 +08:00
807A122F1F89636300EC2A9B /* SDImageCodersManager.m in Sources */,
2016-06-13 05:53:08 +08:00
4314D1361D0E0E3B004B36C9 /* SDWebImageManager.m in Sources */,
2018-04-26 22:51:50 +08:00
321E609B1F38E8ED00405457 /* SDImageIOCoder.m in Sources */,
2016-06-13 05:53:08 +08:00
4314D1371D0E0E3B004B36C9 /* SDWebImagePrefetcher.m in Sources */,
2018-04-18 12:50:05 +08:00
320CAE1C2086F50500CFFC80 /* SDWebImageError.m in Sources */,
2016-06-13 05:53:08 +08:00
4314D13B1D0E0E3B004B36C9 /* UIButton+WebCache.m in Sources */,
2018-04-14 18:18:45 +08:00
328BB6A32081FED200760D6C /* SDWebImageCacheKeyFilter.m in Sources */,
2018-04-07 13:47:54 +08:00
32F21B5820788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m in Sources */,
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
321E60C51F38E91700405457 /* UIImage+ForceDecode.m in Sources */,
2018-04-15 00:05:09 +08:00
328BB6C82082581100760D6C /* SDDiskCache.m in Sources */,
2018-01-17 15:20:38 +08:00
325312CF200F09910046BF1E /* SDWebImageTransition.m in Sources */,
2018-04-18 19:05:10 +08:00
32D1222B2080B2EB003685A3 /* SDImageCachesManager.m in Sources */,
2018-05-17 12:00:31 +08:00
321B37942083290E00C0EA77 /* SDImageLoadersManager.m in Sources */,
2017-12-21 11:43:46 +08:00
3248475E201775F600AF9E5A /* SDAnimatedImageView.m in Sources */,
32484770201775F600AF9E5A /* SDAnimatedImage.m in Sources */,
3248477C201775F600AF9E5A /* SDAnimatedImageView+WebCache.m in Sources */,
2018-01-20 23:40:16 +08:00
32C0FDE82013426C001B8F2D /* SDWebImageIndicator.m in Sources */,
2016-06-13 05:53:08 +08:00
4314D1401D0E0E3B004B36C9 /* UIImageView+WebCache.m in Sources */,
2016-09-24 05:14:13 +08:00
43A9186C1D8308FE00B3925F /* SDImageCacheConfig.m in Sources */,
2018-04-18 21:14:34 +08:00
3237F9EC20161AE000A88143 /* NSImage+Compatibility.m in Sources */,
2016-06-13 05:53:08 +08:00
4314D1411D0E0E3B004B36C9 /* SDWebImageDownloaderOperation.m in Sources */,
2018-03-31 05:34:10 +08:00
32B9B53E206ED4230026769D /* SDWebImageDownloaderConfig.m in Sources */,
2018-04-26 21:30:44 +08:00
32F7C0762030114C00873181 /* SDImageTransformer.m in Sources */,
2018-04-26 22:51:50 +08:00
327054DB206CD8B3006EA328 /* SDImageAPNGCoder.m in Sources */,
2018-04-15 00:05:09 +08:00
328BB6D42082581100760D6C /* SDMemoryCache.m in Sources */,
2018-01-13 18:42:15 +08:00
324DF4BB200A14DC008A84CC /* SDWebImageDefine.m in Sources */,
2016-06-13 05:53:08 +08:00
4314D14B1D0E0E3B004B36C9 /* SDWebImageCompat.m in Sources */,
2018-04-14 18:18:45 +08:00
328BB6B12081FEE500760D6C /* SDWebImageCacheSerializer.m in Sources */,
2016-06-13 05:53:08 +08:00
4314D14D1D0E0E3B004B36C9 /* UIImage+GIF.m in Sources */,
2018-04-26 22:13:28 +08:00
32CF1C0E1FA496B000004BD1 /* SDImageCoderHelper.m in Sources */,
2016-06-13 05:53:08 +08:00
4314D1501D0E0E3B004B36C9 /* UIView+WebCacheOperation.m in Sources */,
2018-04-26 22:51:50 +08:00
321E60A91F38E8F600405457 /* SDImageGIFCoder.m in Sources */,
2016-06-13 05:53:08 +08:00
4314D1521D0E0E3B004B36C9 /* NSData+ImageContentType.m in Sources */,
4314D1531D0E0E3B004B36C9 /* UIImage+MultiFormat.m in Sources */,
4314D1551D0E0E3B004B36C9 /* UIImageView+HighlightedWebCache.m in Sources */,
2018-02-11 23:36:58 +08:00
32F7C07F2030719600873181 /* UIImage+Transform.m in Sources */,
2018-05-17 12:00:31 +08:00
321B37882083290E00C0EA77 /* SDImageLoader.m in Sources */,
2016-06-13 05:53:08 +08:00
);
runOnlyForDeploymentPostprocessing = 0;
};
2016-06-10 12:28:09 +08:00
431BB68A1D06D2C1006A3455 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
431BB68C1D06D2C1006A3455 /* SDWebImageDownloaderOperation.m in Sources */,
431BB68E1D06D2C1006A3455 /* SDWebImagePrefetcher.m in Sources */,
2018-06-25 13:52:46 +08:00
329A18631FFF5DFD008C9A2F /* UIImage+Metadata.m in Sources */,
2018-03-29 20:28:50 +08:00
32EB6D8F206D132E005CAEF6 /* SDAnimatedImageRep.m in Sources */,
2018-04-26 22:39:52 +08:00
321E60901F38E8C800405457 /* SDImageCoder.m in Sources */,
2016-06-10 12:28:09 +08:00
431BB6921D06D2C1006A3455 /* NSData+ImageContentType.m in Sources */,
431BB69A1D06D2C1006A3455 /* SDWebImageDownloader.m in Sources */,
431BB6A31D06D2C1006A3455 /* UIImageView+WebCache.m in Sources */,
2018-04-18 19:16:45 +08:00
32D122282080B2EB003685A3 /* SDImageCacheDefine.m in Sources */,
2016-09-26 00:44:52 +08:00
4369C2821D9807EC007E863A /* UIView+WebCache.m in Sources */,
2018-04-26 22:13:28 +08:00
3290FA0E1FA478AF0047D20C /* SDImageFrame.m in Sources */,
2016-06-10 12:28:09 +08:00
431BB6AA1D06D2C1006A3455 /* SDWebImageManager.m in Sources */,
2018-04-26 22:51:50 +08:00
807A12321F89636300EC2A9B /* SDImageCodersManager.m in Sources */,
321E609E1F38E8ED00405457 /* SDImageIOCoder.m in Sources */,
2018-04-18 12:50:05 +08:00
320CAE1F2086F50500CFFC80 /* SDWebImageError.m in Sources */,
2016-06-10 12:28:09 +08:00
431BB6AC1D06D2C1006A3455 /* SDWebImageCompat.m in Sources */,
2018-04-14 18:18:45 +08:00
328BB6A62081FED200760D6C /* SDWebImageCacheKeyFilter.m in Sources */,
2018-04-07 13:47:54 +08:00
32F21B5B20788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m in Sources */,
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
321E60C81F38E91700405457 /* UIImage+ForceDecode.m in Sources */,
2018-04-15 00:05:09 +08:00
328BB6CB2082581100760D6C /* SDDiskCache.m in Sources */,
2018-01-17 15:20:38 +08:00
325312D2200F09910046BF1E /* SDWebImageTransition.m in Sources */,
2018-04-18 19:05:10 +08:00
32D1222E2080B2EB003685A3 /* SDImageCachesManager.m in Sources */,
2016-06-10 12:28:09 +08:00
431BB6B11D06D2C1006A3455 /* UIView+WebCacheOperation.m in Sources */,
2018-05-17 12:00:31 +08:00
321B37972083290E00C0EA77 /* SDImageLoadersManager.m in Sources */,
2017-12-21 11:43:46 +08:00
32484761201775F600AF9E5A /* SDAnimatedImageView.m in Sources */,
32484773201775F600AF9E5A /* SDAnimatedImage.m in Sources */,
3248477F201775F600AF9E5A /* SDAnimatedImageView+WebCache.m in Sources */,
2018-01-20 23:40:16 +08:00
32C0FDEB2013426C001B8F2D /* SDWebImageIndicator.m in Sources */,
2018-04-18 21:14:34 +08:00
3237F9EA20161AE000A88143 /* NSImage+Compatibility.m in Sources */,
2018-03-31 05:34:10 +08:00
32B9B541206ED4230026769D /* SDWebImageDownloaderConfig.m in Sources */,
2018-04-26 21:30:44 +08:00
32F7C0792030114C00873181 /* SDImageTransformer.m in Sources */,
2016-06-10 12:28:09 +08:00
431BB6B91D06D2C1006A3455 /* UIButton+WebCache.m in Sources */,
2016-09-24 05:14:13 +08:00
43A9186F1D8308FE00B3925F /* SDImageCacheConfig.m in Sources */,
2018-04-26 22:51:50 +08:00
327054DE206CD8B3006EA328 /* SDImageAPNGCoder.m in Sources */,
2018-04-15 00:05:09 +08:00
328BB6D72082581100760D6C /* SDMemoryCache.m in Sources */,
2018-01-13 18:42:15 +08:00
324DF4BE200A14DC008A84CC /* SDWebImageDefine.m in Sources */,
2018-04-14 18:18:45 +08:00
328BB6B42081FEE500760D6C /* SDWebImageCacheSerializer.m in Sources */,
2016-06-10 12:28:09 +08:00
431BB6BD1D06D2C1006A3455 /* UIImage+GIF.m in Sources */,
2018-04-26 22:13:28 +08:00
32CF1C111FA496B000004BD1 /* SDImageCoderHelper.m in Sources */,
2018-04-26 22:51:50 +08:00
321E60AC1F38E8F600405457 /* SDImageGIFCoder.m in Sources */,
2016-06-10 12:28:09 +08:00
431BB6C01D06D2C1006A3455 /* SDImageCache.m in Sources */,
431BB6C41D06D2C1006A3455 /* UIImage+MultiFormat.m in Sources */,
2018-02-11 23:36:58 +08:00
32F7C0822030719600873181 /* UIImage+Transform.m in Sources */,
2018-05-17 12:00:31 +08:00
321B378B2083290E00C0EA77 /* SDImageLoader.m in Sources */,
2016-06-10 12:28:09 +08:00
431BB6C71D06D2C1006A3455 /* UIImageView+HighlightedWebCache.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
2016-06-13 04:23:53 +08:00
4397D2771D0DDD8C00BB2784 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4397D27E1D0DDD8C00BB2784 /* UIImage+GIF.m in Sources */,
2018-04-26 22:39:52 +08:00
321E60911F38E8C800405457 /* SDImageCoder.m in Sources */,
2018-04-18 21:14:34 +08:00
4397D2F71D0DE2DF00BB2784 /* NSImage+Compatibility.m in Sources */,
2018-04-19 16:22:47 +08:00
32FDE87F2088871B008D7530 /* MKAnnotationView+WebCache.m in Sources */,
2018-04-15 00:05:09 +08:00
328BB6CC2082581100760D6C /* SDDiskCache.m in Sources */,
2018-04-18 12:50:05 +08:00
320CAE202086F50500CFFC80 /* SDWebImageError.m in Sources */,
2018-04-26 22:13:28 +08:00
3290FA0F1FA478AF0047D20C /* SDImageFrame.m in Sources */,
32CF1C121FA496B000004BD1 /* SDImageCoderHelper.m in Sources */,
2018-03-31 05:34:10 +08:00
32B9B542206ED4230026769D /* SDWebImageDownloaderConfig.m in Sources */,
2018-06-25 13:52:46 +08:00
329A18641FFF5DFD008C9A2F /* UIImage+Metadata.m in Sources */,
2018-01-13 18:42:15 +08:00
324DF4BF200A14DC008A84CC /* SDWebImageDefine.m in Sources */,
2016-06-13 04:23:53 +08:00
4397D28C1D0DDD8C00BB2784 /* UIImageView+WebCache.m in Sources */,
4397D28F1D0DDD8C00BB2784 /* SDWebImageDownloaderOperation.m in Sources */,
2017-12-21 11:43:46 +08:00
32484762201775F600AF9E5A /* SDAnimatedImageView.m in Sources */,
2018-04-15 00:05:09 +08:00
328BB6D82082581100760D6C /* SDMemoryCache.m in Sources */,
2018-04-14 18:18:45 +08:00
328BB6B52081FEE500760D6C /* SDWebImageCacheSerializer.m in Sources */,
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
321E60C91F38E91700405457 /* UIImage+ForceDecode.m in Sources */,
2018-04-18 19:05:10 +08:00
32D1222F2080B2EB003685A3 /* SDImageCachesManager.m in Sources */,
2016-06-13 04:23:53 +08:00
4397D2921D0DDD8C00BB2784 /* SDWebImagePrefetcher.m in Sources */,
2018-04-26 22:51:50 +08:00
807A12331F89636300EC2A9B /* SDImageCodersManager.m in Sources */,
2016-06-13 04:23:53 +08:00
4397D2961D0DDD8C00BB2784 /* UIImage+MultiFormat.m in Sources */,
2018-04-07 13:47:54 +08:00
32F21B5C20788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m in Sources */,
2018-04-18 19:16:45 +08:00
32D122292080B2EB003685A3 /* SDImageCacheDefine.m in Sources */,
2018-05-17 12:00:31 +08:00
321B378C2083290E00C0EA77 /* SDImageLoader.m in Sources */,
2016-06-13 04:23:53 +08:00
4397D29B1D0DDD8C00BB2784 /* SDWebImageDownloader.m in Sources */,
2018-04-14 18:18:45 +08:00
328BB6A72081FED200760D6C /* SDWebImageCacheKeyFilter.m in Sources */,
2016-06-13 04:23:53 +08:00
4397D29C1D0DDD8C00BB2784 /* NSData+ImageContentType.m in Sources */,
2018-01-19 15:46:05 +08:00
321DB3622011D4D70015D2CB /* NSButton+WebCache.m in Sources */,
2016-06-13 04:23:53 +08:00
4397D2A11D0DDD8C00BB2784 /* SDWebImageManager.m in Sources */,
2018-04-26 22:51:50 +08:00
321E60AD1F38E8F600405457 /* SDImageGIFCoder.m in Sources */,
327054DF206CD8B3006EA328 /* SDImageAPNGCoder.m in Sources */,
2016-06-13 04:23:53 +08:00
4397D2A61D0DDD8C00BB2784 /* SDWebImageCompat.m in Sources */,
4397D2A81D0DDD8C00BB2784 /* UIButton+WebCache.m in Sources */,
2018-02-18 11:34:06 +08:00
320224BC203979BA00E9F285 /* SDAnimatedImageRep.m in Sources */,
2018-04-26 22:51:50 +08:00
321E609F1F38E8ED00405457 /* SDImageIOCoder.m in Sources */,
2017-12-21 11:43:46 +08:00
32484780201775F600AF9E5A /* SDAnimatedImageView+WebCache.m in Sources */,
2016-09-24 05:14:13 +08:00
43A918701D8308FE00B3925F /* SDImageCacheConfig.m in Sources */,
2016-06-13 04:23:53 +08:00
4397D2AB1D0DDD8C00BB2784 /* UIView+WebCacheOperation.m in Sources */,
2018-01-17 15:20:38 +08:00
325312D3200F09910046BF1E /* SDWebImageTransition.m in Sources */,
2016-09-26 00:44:52 +08:00
4369C2831D9807EC007E863A /* UIView+WebCache.m in Sources */,
2018-01-20 23:40:16 +08:00
32C0FDEC2013426C001B8F2D /* SDWebImageIndicator.m in Sources */,
2018-02-11 23:36:58 +08:00
32F7C0832030719600873181 /* UIImage+Transform.m in Sources */,
2017-12-21 11:43:46 +08:00
32484774201775F600AF9E5A /* SDAnimatedImage.m in Sources */,
2016-06-13 04:23:53 +08:00
4397D2AE1D0DDD8C00BB2784 /* UIImageView+HighlightedWebCache.m in Sources */,
4397D2B01D0DDD8C00BB2784 /* SDImageCache.m in Sources */,
2018-05-17 12:00:31 +08:00
321B37982083290E00C0EA77 /* SDImageLoadersManager.m in Sources */,
2018-04-26 21:30:44 +08:00
32F7C07A2030114C00873181 /* SDImageTransformer.m in Sources */,
2016-06-13 04:23:53 +08:00
);
runOnlyForDeploymentPostprocessing = 0;
};
2015-03-15 03:06:39 +08:00
4A2CADFA1AB4BB5300B6BC39 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2018-04-26 22:13:28 +08:00
3290FA0C1FA478AF0047D20C /* SDImageFrame.m in Sources */,
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
321E60C61F38E91700405457 /* UIImage+ForceDecode.m in Sources */,
2018-04-14 18:18:45 +08:00
328BB6A42081FED200760D6C /* SDWebImageCacheKeyFilter.m in Sources */,
2015-03-15 03:06:39 +08:00
4A2CAE2E1AB4BB7500B6BC39 /* UIImage+GIF.m in Sources */,
2018-04-18 12:50:05 +08:00
320CAE1D2086F50500CFFC80 /* SDWebImageError.m in Sources */,
2018-04-26 22:13:28 +08:00
32CF1C0F1FA496B000004BD1 /* SDImageCoderHelper.m in Sources */,
2018-04-15 00:05:09 +08:00
328BB6D52082581100760D6C /* SDMemoryCache.m in Sources */,
2018-04-26 21:30:44 +08:00
32F7C0772030114C00873181 /* SDImageTransformer.m in Sources */,
2018-04-18 21:14:34 +08:00
3237F9E820161AE000A88143 /* NSImage+Compatibility.m in Sources */,
2018-01-20 23:40:16 +08:00
32C0FDE92013426C001B8F2D /* SDWebImageIndicator.m in Sources */,
2018-04-07 13:47:54 +08:00
32F21B5920788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m in Sources */,
2018-05-17 12:00:31 +08:00
321B37952083290E00C0EA77 /* SDImageLoadersManager.m in Sources */,
2015-03-15 03:06:39 +08:00
4A2CAE361AB4BB7500B6BC39 /* UIImageView+WebCache.m in Sources */,
4A2CAE1E1AB4BB6800B6BC39 /* SDWebImageDownloaderOperation.m in Sources */,
2018-02-11 23:36:58 +08:00
32F7C0802030719600873181 /* UIImage+Transform.m in Sources */,
2018-04-26 22:51:50 +08:00
327054DC206CD8B3006EA328 /* SDImageAPNGCoder.m in Sources */,
2018-01-17 15:20:38 +08:00
325312D0200F09910046BF1E /* SDWebImageTransition.m in Sources */,
2018-04-26 22:51:50 +08:00
321E609C1F38E8ED00405457 /* SDImageIOCoder.m in Sources */,
2015-03-15 03:06:39 +08:00
4A2CAE261AB4BB7000B6BC39 /* SDWebImagePrefetcher.m in Sources */,
2018-04-15 00:05:09 +08:00
328BB6C92082581100760D6C /* SDDiskCache.m in Sources */,
2017-12-21 11:43:46 +08:00
3248475F201775F600AF9E5A /* SDAnimatedImageView.m in Sources */,
2018-04-18 19:05:10 +08:00
32D1222C2080B2EB003685A3 /* SDImageCachesManager.m in Sources */,
2018-03-31 05:34:10 +08:00
32B9B53F206ED4230026769D /* SDWebImageDownloaderConfig.m in Sources */,
2016-09-24 05:14:13 +08:00
43A9186D1D8308FE00B3925F /* SDImageCacheConfig.m in Sources */,
2017-12-21 11:43:46 +08:00
3248477D201775F600AF9E5A /* SDAnimatedImageView+WebCache.m in Sources */,
2018-04-26 22:51:50 +08:00
321E60AA1F38E8F600405457 /* SDImageGIFCoder.m in Sources */,
2018-04-26 22:39:52 +08:00
321E608E1F38E8C800405457 /* SDImageCoder.m in Sources */,
2015-03-15 03:06:39 +08:00
4A2CAE301AB4BB7500B6BC39 /* UIImage+MultiFormat.m in Sources */,
4A2CAE1C1AB4BB6800B6BC39 /* SDWebImageDownloader.m in Sources */,
4A2CAE2A1AB4BB7500B6BC39 /* NSData+ImageContentType.m in Sources */,
2018-04-19 16:22:47 +08:00
32FDE87D2088871B008D7530 /* MKAnnotationView+WebCache.m in Sources */,
2015-03-15 03:06:39 +08:00
4A2CAE221AB4BB7000B6BC39 /* SDWebImageManager.m in Sources */,
4A2CAE191AB4BB6400B6BC39 /* SDWebImageCompat.m in Sources */,
2018-05-17 12:00:31 +08:00
321B37892083290E00C0EA77 /* SDImageLoader.m in Sources */,
2017-12-21 11:43:46 +08:00
32484771201775F600AF9E5A /* SDAnimatedImage.m in Sources */,
2018-04-26 22:51:50 +08:00
807A12301F89636300EC2A9B /* SDImageCodersManager.m in Sources */,
2015-03-15 03:06:39 +08:00
4A2CAE2C1AB4BB7500B6BC39 /* UIButton+WebCache.m in Sources */,
2018-04-18 19:16:45 +08:00
32D122262080B2EB003685A3 /* SDImageCacheDefine.m in Sources */,
2018-01-13 18:42:15 +08:00
324DF4BC200A14DC008A84CC /* SDWebImageDefine.m in Sources */,
2015-03-15 03:06:39 +08:00
4A2CAE381AB4BB7500B6BC39 /* UIView+WebCacheOperation.m in Sources */,
2018-03-29 20:28:50 +08:00
32EB6D8E206D132E005CAEF6 /* SDAnimatedImageRep.m in Sources */,
2015-03-15 03:06:39 +08:00
4A2CAE341AB4BB7500B6BC39 /* UIImageView+HighlightedWebCache.m in Sources */,
4A2CAE201AB4BB6C00B6BC39 /* SDImageCache.m in Sources */,
2016-09-26 00:44:52 +08:00
4369C2801D9807EC007E863A /* UIView+WebCache.m in Sources */,
2018-06-25 13:52:46 +08:00
329A18611FFF5DFD008C9A2F /* UIImage+Metadata.m in Sources */,
2018-04-14 18:18:45 +08:00
328BB6B22081FEE500760D6C /* SDWebImageCacheSerializer.m in Sources */,
2015-03-15 03:06:39 +08:00
);
runOnlyForDeploymentPostprocessing = 0;
};
2012-05-10 06:30:48 +08:00
53761308155AD0D5005750A4 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2018-04-26 22:13:28 +08:00
3290FA0A1FA478AF0047D20C /* SDImageFrame.m in Sources */,
Feature: refactor decoding code and provide decoding plugin
- open the decoding/encoding procedures to the users
- switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created)
- `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around
- uses a priority queue behind scenes, which means the latest added coders have priority.
- the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`)
- each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder
- we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP)
- the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array
- in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
2017-10-17 00:52:18 +08:00
321E60C41F38E91700405457 /* UIImage+ForceDecode.m in Sources */,
2018-04-14 18:18:45 +08:00
328BB6A22081FED200760D6C /* SDWebImageCacheKeyFilter.m in Sources */,
2012-05-10 06:30:48 +08:00
53761309155AD0D5005750A4 /* SDImageCache.m in Sources */,
2018-04-18 12:50:05 +08:00
320CAE1B2086F50500CFFC80 /* SDWebImageError.m in Sources */,
2018-04-26 22:13:28 +08:00
32CF1C0D1FA496B000004BD1 /* SDImageCoderHelper.m in Sources */,
2018-04-15 00:05:09 +08:00
328BB6D32082581100760D6C /* SDMemoryCache.m in Sources */,
2018-04-26 21:30:44 +08:00
32F7C0752030114C00873181 /* SDImageTransformer.m in Sources */,
2018-04-18 21:14:34 +08:00
3237F9EB20161AE000A88143 /* NSImage+Compatibility.m in Sources */,
2018-01-20 23:40:16 +08:00
32C0FDE72013426C001B8F2D /* SDWebImageIndicator.m in Sources */,
2018-04-07 13:47:54 +08:00
32F21B5720788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m in Sources */,
2012-05-10 06:30:48 +08:00
5376130B155AD0D5005750A4 /* SDWebImageDownloader.m in Sources */,
2018-05-17 12:00:31 +08:00
321B37932083290E00C0EA77 /* SDImageLoadersManager.m in Sources */,
2018-02-11 23:36:58 +08:00
32F7C07E2030719600873181 /* UIImage+Transform.m in Sources */,
2018-04-26 22:51:50 +08:00
321E609A1F38E8ED00405457 /* SDImageIOCoder.m in Sources */,
327054DA206CD8B3006EA328 /* SDImageAPNGCoder.m in Sources */,
2018-01-17 15:20:38 +08:00
325312CE200F09910046BF1E /* SDWebImageTransition.m in Sources */,
2012-05-10 06:30:48 +08:00
5376130C155AD0D5005750A4 /* SDWebImageManager.m in Sources */,
5376130D155AD0D5005750A4 /* SDWebImagePrefetcher.m in Sources */,
2018-04-15 00:05:09 +08:00
328BB6C72082581100760D6C /* SDDiskCache.m in Sources */,
2017-12-21 11:43:46 +08:00
3248475D201775F600AF9E5A /* SDAnimatedImageView.m in Sources */,
2018-04-18 19:05:10 +08:00
32D1222A2080B2EB003685A3 /* SDImageCachesManager.m in Sources */,
2018-03-31 05:34:10 +08:00
32B9B53D206ED4230026769D /* SDWebImageDownloaderConfig.m in Sources */,
2016-09-24 05:14:13 +08:00
43A9186B1D8308FE00B3925F /* SDImageCacheConfig.m in Sources */,
2017-12-21 11:43:46 +08:00
3248477B201775F600AF9E5A /* SDAnimatedImageView+WebCache.m in Sources */,
2018-04-26 22:51:50 +08:00
321E60A81F38E8F600405457 /* SDImageGIFCoder.m in Sources */,
2018-04-26 22:39:52 +08:00
321E608C1F38E8C800405457 /* SDImageCoder.m in Sources */,
2012-05-10 06:30:48 +08:00
5376130E155AD0D5005750A4 /* UIButton+WebCache.m in Sources */,
5376130F155AD0D5005750A4 /* UIImageView+WebCache.m in Sources */,
2012-11-04 16:50:23 +08:00
530E49EC16464C84002868E7 /* SDWebImageDownloaderOperation.m in Sources */,
2018-04-19 16:22:47 +08:00
32FDE87C2088871B008D7530 /* MKAnnotationView+WebCache.m in Sources */,
2012-12-11 23:11:06 +08:00
53406750167780C40042B59E /* SDWebImageCompat.m in Sources */,
2018-05-17 12:00:31 +08:00
321B37872083290E00C0EA77 /* SDImageLoader.m in Sources */,
2017-12-21 11:43:46 +08:00
3248476F201775F600AF9E5A /* SDAnimatedImage.m in Sources */,
2018-04-26 22:51:50 +08:00
807A122E1F89636300EC2A9B /* SDImageCodersManager.m in Sources */,
2013-04-29 05:06:54 +08:00
A18A6CC9172DC28500419892 /* UIImage+GIF.m in Sources */,
2018-04-18 19:16:45 +08:00
32D122242080B2EB003685A3 /* SDImageCacheDefine.m in Sources */,
2018-01-13 18:42:15 +08:00
324DF4BA200A14DC008A84CC /* SDWebImageDefine.m in Sources */,
2014-06-19 22:46:37 +08:00
AB615306192DA24600A2D8E9 /* UIView+WebCacheOperation.m in Sources */,
2018-03-29 20:28:50 +08:00
32EB6D91206D132E005CAEF6 /* SDAnimatedImageRep.m in Sources */,
2014-01-22 01:57:50 +08:00
5D5B9145188EE8DD006D06BD /* NSData+ImageContentType.m in Sources */,
2013-06-08 01:39:07 +08:00
53EDFB8C17623F7C00698166 /* UIImage+MultiFormat.m in Sources */,
2014-03-03 12:32:27 +08:00
ABBE71A818C43B4D00B75E91 /* UIImageView+HighlightedWebCache.m in Sources */,
2016-09-26 00:44:52 +08:00
4369C27E1D9807EC007E863A /* UIView+WebCache.m in Sources */,
2018-06-25 13:52:46 +08:00
329A185F1FFF5DFD008C9A2F /* UIImage+Metadata.m in Sources */,
2018-04-14 18:18:45 +08:00
328BB6B02081FEE500760D6C /* SDWebImageCacheSerializer.m in Sources */,
2011-12-05 09:48:58 +08:00
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
2015-10-07 06:58:23 +08:00
00733A511BC487C100A5A117 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
2018-02-01 12:54:38 +08:00
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
2016-10-01 02:06:05 +08:00
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
2015-10-07 06:58:23 +08:00
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
2016-06-12 12:43:28 +08:00
ENABLE_BITCODE = YES;
2015-10-07 06:58:23 +08:00
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = WebImage/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = YES;
2016-05-09 03:59:32 +08:00
PRODUCT_BUNDLE_IDENTIFIER = "com.dailymotion.$(PRODUCT_NAME:rfc1034identifier).tvos";
PRODUCT_NAME = SDWebImage;
2015-10-07 06:58:23 +08:00
SDKROOT = appletvos;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 9.0;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
00733A521BC487C100A5A117 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
2018-02-01 12:54:38 +08:00
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
2016-10-01 02:06:05 +08:00
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
2015-10-07 06:58:23 +08:00
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
2016-06-12 12:43:28 +08:00
ENABLE_BITCODE = YES;
2015-10-07 06:58:23 +08:00
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = WebImage/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
2016-05-09 03:59:32 +08:00
PRODUCT_BUNDLE_IDENTIFIER = "com.dailymotion.$(PRODUCT_NAME:rfc1034identifier).tvos";
PRODUCT_NAME = SDWebImage;
2015-10-07 06:58:23 +08:00
SDKROOT = appletvos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 9.0;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
2016-06-13 05:53:08 +08:00
4314D1971D0E0E3B004B36C9 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
2018-02-01 12:54:38 +08:00
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
2016-06-13 05:53:08 +08:00
PRODUCT_NAME = "$(TARGET_NAME)";
PUBLIC_HEADERS_FOLDER_PATH = include/SDWebImage;
SDKROOT = watchos;
TARGETED_DEVICE_FAMILY = 4;
WATCHOS_DEPLOYMENT_TARGET = 2.0;
};
name = Debug;
};
4314D1981D0E0E3B004B36C9 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
2018-02-01 12:54:38 +08:00
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
2016-06-13 05:53:08 +08:00
PRODUCT_NAME = "$(TARGET_NAME)";
PUBLIC_HEADERS_FOLDER_PATH = include/SDWebImage;
SDKROOT = watchos;
TARGETED_DEVICE_FAMILY = 4;
WATCHOS_DEPLOYMENT_TARGET = 2.0;
};
name = Release;
};
2016-06-10 12:28:09 +08:00
431BB7011D06D2C1006A3455 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
2018-02-01 12:54:38 +08:00
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
2016-10-01 02:06:05 +08:00
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
2016-06-10 12:28:09 +08:00
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = WebImage/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = YES;
PRODUCT_BUNDLE_IDENTIFIER = "com.dailymotion.$(PRODUCT_NAME:rfc1034identifier).watchos";
PRODUCT_NAME = SDWebImage;
SDKROOT = watchos;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
2016-06-13 02:10:18 +08:00
TARGETED_DEVICE_FAMILY = 4;
2016-06-10 12:28:09 +08:00
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
WATCHOS_DEPLOYMENT_TARGET = 2.0;
};
name = Debug;
};
431BB7021D06D2C1006A3455 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
2018-02-01 12:54:38 +08:00
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
2016-10-01 02:06:05 +08:00
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
2016-06-10 12:28:09 +08:00
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = WebImage/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = "com.dailymotion.$(PRODUCT_NAME:rfc1034identifier).watchos";
PRODUCT_NAME = SDWebImage;
SDKROOT = watchos;
SKIP_INSTALL = YES;
2016-06-13 02:10:18 +08:00
TARGETED_DEVICE_FAMILY = 4;
2016-06-10 12:28:09 +08:00
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
WATCHOS_DEPLOYMENT_TARGET = 2.0;
};
name = Release;
};
2016-06-13 04:23:53 +08:00
4397D2F01D0DDD8C00BB2784 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
2018-02-01 12:54:38 +08:00
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
2016-06-13 05:53:08 +08:00
COMBINE_HIDPI_IMAGES = YES;
2016-06-13 04:23:53 +08:00
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
INFOPLIST_FILE = WebImage/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
2018-01-01 13:15:51 +08:00
MACOSX_DEPLOYMENT_TARGET = 10.10;
2016-06-13 04:23:53 +08:00
MTL_ENABLE_DEBUG_INFO = YES;
PRODUCT_BUNDLE_IDENTIFIER = "com.dailymotion.$(PRODUCT_NAME:rfc1034identifier).ios";
PRODUCT_NAME = SDWebImage;
SDKROOT = macosx;
};
name = Debug;
};
4397D2F11D0DDD8C00BB2784 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
2018-02-01 12:54:38 +08:00
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
2016-06-13 05:53:08 +08:00
COMBINE_HIDPI_IMAGES = YES;
2016-06-13 04:23:53 +08:00
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
INFOPLIST_FILE = WebImage/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
2018-01-01 13:15:51 +08:00
MACOSX_DEPLOYMENT_TARGET = 10.10;
2016-06-13 04:23:53 +08:00
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = "com.dailymotion.$(PRODUCT_NAME:rfc1034identifier).ios";
PRODUCT_NAME = SDWebImage;
SDKROOT = macosx;
};
name = Release;
};
2015-03-15 03:06:39 +08:00
4A2CAE131AB4BB5400B6BC39 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
2015-03-21 06:37:55 +08:00
APPLICATION_EXTENSION_API_ONLY = YES;
2018-02-01 12:54:38 +08:00
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
2016-10-01 02:06:05 +08:00
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
2015-03-15 03:06:39 +08:00
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
2016-05-09 03:41:33 +08:00
GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
2015-03-15 03:06:39 +08:00
INFOPLIST_FILE = WebImage/Info.plist;
2015-03-23 04:40:44 +08:00
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
2015-03-15 03:06:39 +08:00
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = YES;
2016-05-09 03:59:32 +08:00
PRODUCT_BUNDLE_IDENTIFIER = "com.dailymotion.$(PRODUCT_NAME:rfc1034identifier).ios";
PRODUCT_NAME = SDWebImage;
2016-06-13 02:10:18 +08:00
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
2015-03-15 03:06:39 +08:00
};
name = Debug;
};
4A2CAE141AB4BB5400B6BC39 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
2015-03-21 06:37:55 +08:00
APPLICATION_EXTENSION_API_ONLY = YES;
2018-02-01 12:54:38 +08:00
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
2016-10-01 02:06:05 +08:00
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
2015-03-15 03:06:39 +08:00
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
INFOPLIST_FILE = WebImage/Info.plist;
2015-03-23 04:40:44 +08:00
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
2015-03-15 03:06:39 +08:00
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
2016-05-09 03:59:32 +08:00
PRODUCT_BUNDLE_IDENTIFIER = "com.dailymotion.$(PRODUCT_NAME:rfc1034identifier).ios";
PRODUCT_NAME = SDWebImage;
2016-06-13 02:10:18 +08:00
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
2015-03-15 03:06:39 +08:00
};
name = Release;
};
2012-05-10 06:30:48 +08:00
53761323155AD0D5005750A4 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
2018-02-01 12:54:38 +08:00
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
2013-10-05 02:40:20 +08:00
GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
2016-10-01 02:06:05 +08:00
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
2016-06-13 05:53:08 +08:00
PRODUCT_NAME = "$(TARGET_NAME)";
2016-05-09 03:41:33 +08:00
PUBLIC_HEADERS_FOLDER_PATH = include/SDWebImage;
2016-06-13 02:10:18 +08:00
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
2012-05-10 06:30:48 +08:00
};
name = Debug;
};
53761324155AD0D5005750A4 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
2018-02-01 12:54:38 +08:00
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
2016-10-01 02:06:05 +08:00
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
2016-06-13 05:53:08 +08:00
PRODUCT_NAME = "$(TARGET_NAME)";
2016-05-09 03:41:33 +08:00
PUBLIC_HEADERS_FOLDER_PATH = include/SDWebImage;
2016-06-13 02:10:18 +08:00
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
2012-05-10 06:30:48 +08:00
};
name = Release;
};
2016-05-09 02:59:15 +08:00
53922D7A148C55820056699D /* Debug */ = {
2013-09-21 01:53:11 +08:00
isa = XCBuildConfiguration;
buildSettings = {
2016-05-09 02:59:15 +08:00
ALWAYS_SEARCH_USER_PATHS = NO;
2016-06-06 17:10:51 +08:00
CLANG_ANALYZER_NONNULL = YES;
2016-05-09 03:41:33 +08:00
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
2013-09-21 01:53:11 +08:00
CLANG_ENABLE_OBJC_ARC = YES;
2017-10-07 01:58:44 +08:00
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
2016-05-09 03:41:33 +08:00
CLANG_WARN_BOOL_CONVERSION = YES;
2017-10-07 01:58:44 +08:00
CLANG_WARN_COMMA = YES;
2016-05-09 03:41:33 +08:00
CLANG_WARN_CONSTANT_CONVERSION = YES;
2018-08-29 18:54:48 +08:00
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
2016-05-09 03:41:33 +08:00
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
2016-10-01 02:06:05 +08:00
CLANG_WARN_INFINITE_RECURSION = YES;
2016-05-09 03:41:33 +08:00
CLANG_WARN_INT_CONVERSION = YES;
2017-10-07 01:58:44 +08:00
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
2018-08-29 18:54:48 +08:00
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
2017-10-07 01:58:44 +08:00
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
2016-05-09 03:41:33 +08:00
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
2017-10-07 01:58:44 +08:00
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
2017-08-14 21:05:46 +08:00
CLANG_WARN_STRICT_PROTOTYPES = YES;
2016-10-01 02:06:05 +08:00
CLANG_WARN_SUSPICIOUS_MOVE = YES;
2016-05-09 03:41:33 +08:00
CLANG_WARN_UNREACHABLE_CODE = NO;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
2013-09-21 01:53:11 +08:00
COPY_PHASE_STRIP = NO;
2017-02-06 15:17:12 +08:00
CURRENT_PROJECT_VERSION = 1;
2016-10-01 02:06:05 +08:00
ENABLE_STRICT_OBJC_MSGSEND = YES;
2016-05-09 02:59:15 +08:00
ENABLE_TESTABILITY = YES;
2013-09-21 01:53:11 +08:00
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)\"",
);
2016-05-09 03:41:33 +08:00
GCC_C_LANGUAGE_STANDARD = gnu99;
2011-12-05 09:48:58 +08:00
GCC_DYNAMIC_NO_PIC = NO;
2016-05-09 03:41:33 +08:00
GCC_NO_COMMON_BLOCKS = YES;
2011-12-05 09:48:58 +08:00
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
2016-05-09 03:59:32 +08:00
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
2012-05-12 06:37:37 +08:00
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
2011-12-05 09:48:58 +08:00
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
2016-05-09 03:41:33 +08:00
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
2012-05-12 06:37:37 +08:00
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
GCC_WARN_SHADOW = YES;
GCC_WARN_SIGN_COMPARE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
2016-05-09 03:41:33 +08:00
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
2012-05-12 06:37:37 +08:00
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_LABEL = YES;
GCC_WARN_UNUSED_PARAMETER = NO;
2011-12-05 09:48:58 +08:00
GCC_WARN_UNUSED_VARIABLE = YES;
2014-05-21 16:10:25 +08:00
ONLY_ACTIVE_ARCH = YES;
2016-05-09 02:59:15 +08:00
OTHER_LDFLAGS = "-ObjC";
2012-05-12 06:37:37 +08:00
RUN_CLANG_STATIC_ANALYZER = YES;
2016-05-09 02:59:15 +08:00
SKIP_INSTALL = YES;
2011-12-05 09:48:58 +08:00
};
name = Debug;
};
53922D7B148C55820056699D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
2016-06-06 17:10:51 +08:00
CLANG_ANALYZER_NONNULL = YES;
2016-05-09 03:41:33 +08:00
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
2016-05-09 02:59:15 +08:00
CLANG_ENABLE_OBJC_ARC = YES;
2017-10-07 01:58:44 +08:00
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
2016-05-09 03:41:33 +08:00
CLANG_WARN_BOOL_CONVERSION = YES;
2017-10-07 01:58:44 +08:00
CLANG_WARN_COMMA = YES;
2016-05-09 03:41:33 +08:00
CLANG_WARN_CONSTANT_CONVERSION = YES;
2018-08-29 18:54:48 +08:00
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
2016-05-09 03:41:33 +08:00
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
2016-10-01 02:06:05 +08:00
CLANG_WARN_INFINITE_RECURSION = YES;
2016-05-09 03:41:33 +08:00
CLANG_WARN_INT_CONVERSION = YES;
2017-10-07 01:58:44 +08:00
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
2018-08-29 18:54:48 +08:00
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
2017-10-07 01:58:44 +08:00
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
2016-05-09 03:41:33 +08:00
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
2017-10-07 01:58:44 +08:00
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
2017-08-14 21:05:46 +08:00
CLANG_WARN_STRICT_PROTOTYPES = YES;
2016-10-01 02:06:05 +08:00
CLANG_WARN_SUSPICIOUS_MOVE = YES;
2016-05-09 03:41:33 +08:00
CLANG_WARN_UNREACHABLE_CODE = NO;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
2011-12-05 09:48:58 +08:00
COPY_PHASE_STRIP = YES;
2017-02-06 15:17:12 +08:00
CURRENT_PROJECT_VERSION = 1;
2016-10-01 02:06:05 +08:00
ENABLE_STRICT_OBJC_MSGSEND = YES;
2016-05-09 02:59:15 +08:00
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)\"",
);
2016-05-09 03:41:33 +08:00
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
2016-05-09 03:59:32 +08:00
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
2012-05-12 06:37:37 +08:00
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
2011-12-05 09:48:58 +08:00
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
2016-05-09 03:41:33 +08:00
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
2012-05-12 06:37:37 +08:00
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
GCC_WARN_SHADOW = YES;
GCC_WARN_SIGN_COMPARE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
2016-05-09 03:41:33 +08:00
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
2012-05-12 06:37:37 +08:00
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_LABEL = YES;
GCC_WARN_UNUSED_PARAMETER = NO;
2011-12-05 09:48:58 +08:00
GCC_WARN_UNUSED_VARIABLE = YES;
2016-05-09 02:59:15 +08:00
OTHER_LDFLAGS = "-ObjC";
2012-05-12 06:37:37 +08:00
RUN_CLANG_STATIC_ANALYZER = YES;
2016-05-09 02:59:15 +08:00
SKIP_INSTALL = YES;
2011-12-05 09:48:58 +08:00
VALIDATE_PRODUCT = YES;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
2016-05-09 03:59:32 +08:00
00733A531BC487C100A5A117 /* Build configuration list for PBXNativeTarget "SDWebImage tvOS" */ = {
2015-10-07 06:58:23 +08:00
isa = XCConfigurationList;
buildConfigurations = (
00733A511BC487C100A5A117 /* Debug */,
00733A521BC487C100A5A117 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
2016-06-13 05:53:08 +08:00
4314D1961D0E0E3B004B36C9 /* Build configuration list for PBXNativeTarget "SDWebImage watchOS static" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4314D1971D0E0E3B004B36C9 /* Debug */,
4314D1981D0E0E3B004B36C9 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
2016-06-10 12:28:09 +08:00
431BB7001D06D2C1006A3455 /* Build configuration list for PBXNativeTarget "SDWebImage watchOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
431BB7011D06D2C1006A3455 /* Debug */,
431BB7021D06D2C1006A3455 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
2016-06-13 04:23:53 +08:00
4397D2EF1D0DDD8C00BB2784 /* Build configuration list for PBXNativeTarget "SDWebImage OSX" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4397D2F01D0DDD8C00BB2784 /* Debug */,
4397D2F11D0DDD8C00BB2784 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
2016-05-09 03:59:32 +08:00
4A2CAE121AB4BB5400B6BC39 /* Build configuration list for PBXNativeTarget "SDWebImage iOS" */ = {
2015-03-15 03:06:39 +08:00
isa = XCConfigurationList;
buildConfigurations = (
4A2CAE131AB4BB5400B6BC39 /* Debug */,
4A2CAE141AB4BB5400B6BC39 /* Release */,
);
defaultConfigurationIsVisible = 0;
2015-03-21 06:37:55 +08:00
defaultConfigurationName = Release;
2015-03-15 03:06:39 +08:00
};
2016-06-13 05:53:08 +08:00
53761322155AD0D5005750A4 /* Build configuration list for PBXNativeTarget "SDWebImage iOS static" */ = {
2012-05-10 06:30:48 +08:00
isa = XCConfigurationList;
buildConfigurations = (
53761323155AD0D5005750A4 /* Debug */,
53761324155AD0D5005750A4 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
2011-12-05 09:48:58 +08:00
53922D69148C55810056699D /* Build configuration list for PBXProject "SDWebImage" */ = {
isa = XCConfigurationList;
buildConfigurations = (
53922D7A148C55820056699D /* Debug */,
53922D7B148C55820056699D /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 53922D66148C55810056699D /* Project object */;
}