2011-12-05 09:48:58 +08:00
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
2019-06-19 16:42:56 +08:00
/* Begin PBXAggregateTarget section */
326CA50C22BA14EF0033A92F /* SDWebImage XCFramework */ = {
isa = PBXAggregateTarget;
buildConfigurationList = 326CA50F22BA14EF0033A92F /* Build configuration list for PBXAggregateTarget "SDWebImage XCFramework" */;
buildPhases = (
326CA51322BA1A270033A92F /* Build Frameworks */,
326CA51422BA25F70033A92F /* Create XCFramework */,
);
dependencies = (
);
name = "SDWebImage XCFramework";
productName = "SDWebImage XCFramework";
};
/* End PBXAggregateTarget section */
2011-12-05 09:48:58 +08:00
/* Begin PBXBuildFile section */
2018-04-18 12:50:05 +08:00
320CAE172086F50500CFFC80 /* SDWebImageError.h in Headers */ = {isa = PBXBuildFile; fileRef = 320CAE132086F50500CFFC80 /* SDWebImageError.h */; settings = {ATTRIBUTES = (Public, ); }; };
320CAE1B2086F50500CFFC80 /* SDWebImageError.m in Sources */ = {isa = PBXBuildFile; fileRef = 320CAE142086F50500CFFC80 /* SDWebImageError.m */; };
320CAE1D2086F50500CFFC80 /* SDWebImageError.m in Sources */ = {isa = PBXBuildFile; fileRef = 320CAE142086F50500CFFC80 /* SDWebImageError.m */; };
2018-05-17 12:00:31 +08:00
321B37832083290E00C0EA77 /* SDImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 321B377D2083290D00C0EA77 /* SDImageLoader.h */; settings = {ATTRIBUTES = (Public, ); }; };
321B37872083290E00C0EA77 /* SDImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 321B377E2083290D00C0EA77 /* SDImageLoader.m */; };
321B37892083290E00C0EA77 /* SDImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 321B377E2083290D00C0EA77 /* SDImageLoader.m */; };
321B378F2083290E00C0EA77 /* SDImageLoadersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 321B377F2083290E00C0EA77 /* SDImageLoadersManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
321B37932083290E00C0EA77 /* SDImageLoadersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 321B37802083290E00C0EA77 /* SDImageLoadersManager.m */; };
321B37952083290E00C0EA77 /* SDImageLoadersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 321B37802083290E00C0EA77 /* SDImageLoadersManager.m */; };
2018-04-26 22:39:52 +08:00
321E60881F38E8C800405457 /* SDImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60841F38E8C800405457 /* SDImageCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E608C1F38E8C800405457 /* SDImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60851F38E8C800405457 /* SDImageCoder.m */; };
321E608E1F38E8C800405457 /* SDImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60851F38E8C800405457 /* SDImageCoder.m */; };
2018-04-26 22:51:50 +08:00
321E60961F38E8ED00405457 /* SDImageIOCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60921F38E8ED00405457 /* SDImageIOCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E609A1F38E8ED00405457 /* SDImageIOCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60931F38E8ED00405457 /* SDImageIOCoder.m */; };
321E609C1F38E8ED00405457 /* SDImageIOCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60931F38E8ED00405457 /* SDImageIOCoder.m */; };
321E60A41F38E8F600405457 /* SDImageGIFCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 321E60A01F38E8F600405457 /* SDImageGIFCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
321E60A81F38E8F600405457 /* SDImageGIFCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 321E60A11F38E8F600405457 /* SDImageGIFCoder.m */; };
321E60AA1F38E8F600405457 /* 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
321E60C01F38E91700405457 /* 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 */; };
321E60C61F38E91700405457 /* 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 */; };
3237F9EB20161AE000A88143 /* NSImage+Compatibility.m in Sources */ = {isa = PBXBuildFile; fileRef = 4397D2F51D0DE2DF00BB2784 /* NSImage+Compatibility.m */; };
2019-12-03 20:42:46 +08:00
3240BB6523968FA1003BA07D /* SDFileAttributeHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 325F7CC523893B2E00AEDFCC /* SDFileAttributeHelper.m */; };
2019-12-03 21:20:20 +08:00
3240BB6823968FE7003BA07D /* SDAssociatedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 3240BB6623968FE6003BA07D /* SDAssociatedObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
3240BB6923968FE7003BA07D /* SDAssociatedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 3240BB6723968FE6003BA07D /* SDAssociatedObject.m */; };
3240BB6A23968FE7003BA07D /* SDAssociatedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 3240BB6723968FE6003BA07D /* SDAssociatedObject.m */; };
2019-05-23 21:36:19 +08:00
3244062C2296C5F400A36084 /* SDWebImageOptionsProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 324406292296C5F400A36084 /* SDWebImageOptionsProcessor.h */; settings = {ATTRIBUTES = (Public, ); }; };
3244062D2296C5F400A36084 /* SDWebImageOptionsProcessor.m in Sources */ = {isa = PBXBuildFile; fileRef = 3244062A2296C5F400A36084 /* SDWebImageOptionsProcessor.m */; };
3244062E2296C5F400A36084 /* SDWebImageOptionsProcessor.m in Sources */ = {isa = PBXBuildFile; fileRef = 3244062A2296C5F400A36084 /* SDWebImageOptionsProcessor.m */; };
2017-12-21 11:43:46 +08:00
3248475D201775F600AF9E5A /* SDAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 32484757201775F600AF9E5A /* SDAnimatedImageView.m */; };
3248475F201775F600AF9E5A /* SDAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 32484757201775F600AF9E5A /* SDAnimatedImageView.m */; };
32484765201775F600AF9E5A /* SDAnimatedImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 32484758201775F600AF9E5A /* SDAnimatedImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
3248476B201775F600AF9E5A /* SDAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 32484759201775F600AF9E5A /* SDAnimatedImageView.h */; settings = {ATTRIBUTES = (Public, ); }; };
3248476F201775F600AF9E5A /* SDAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 3248475A201775F600AF9E5A /* SDAnimatedImage.m */; };
32484771201775F600AF9E5A /* SDAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 3248475A201775F600AF9E5A /* SDAnimatedImage.m */; };
32484777201775F600AF9E5A /* 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 */; };
3248477D201775F600AF9E5A /* SDAnimatedImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 3248475C201775F600AF9E5A /* SDAnimatedImageView+WebCache.m */; };
2018-01-13 18:42:15 +08:00
324DF4B6200A14DC008A84CC /* SDWebImageDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 324DF4B2200A14DC008A84CC /* SDWebImageDefine.h */; settings = {ATTRIBUTES = (Public, ); }; };
324DF4BA200A14DC008A84CC /* SDWebImageDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 324DF4B3200A14DC008A84CC /* SDWebImageDefine.m */; };
324DF4BC200A14DC008A84CC /* SDWebImageDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 324DF4B3200A14DC008A84CC /* SDWebImageDefine.m */; };
2019-10-15 20:10:00 +08:00
3250C9EE2355D9DA0093A896 /* SDWebImageDownloaderDecryptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 3250C9EC2355D9DA0093A896 /* SDWebImageDownloaderDecryptor.h */; settings = {ATTRIBUTES = (Public, ); }; };
3250C9EF2355D9DA0093A896 /* SDWebImageDownloaderDecryptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 3250C9ED2355D9DA0093A896 /* SDWebImageDownloaderDecryptor.m */; };
3250C9F02355D9DA0093A896 /* SDWebImageDownloaderDecryptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 3250C9ED2355D9DA0093A896 /* SDWebImageDownloaderDecryptor.m */; };
3250C9F12355E3DF0093A896 /* SDWebImageDownloaderDecryptor.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 3250C9EC2355D9DA0093A896 /* SDWebImageDownloaderDecryptor.h */; };
2018-01-17 15:20:38 +08:00
325312CA200F09910046BF1E /* SDWebImageTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = 325312C6200F09910046BF1E /* SDWebImageTransition.h */; settings = {ATTRIBUTES = (Public, ); }; };
325312CE200F09910046BF1E /* SDWebImageTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 325312C7200F09910046BF1E /* SDWebImageTransition.m */; };
325312D0200F09910046BF1E /* SDWebImageTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 325312C7200F09910046BF1E /* SDWebImageTransition.m */; };
2019-10-15 16:26:35 +08:00
32542763235576E20042BAA4 /* SDWebImageDownloaderResponseModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 32542761235576E20042BAA4 /* SDWebImageDownloaderResponseModifier.h */; settings = {ATTRIBUTES = (Public, ); }; };
2019-10-15 14:36:41 +08:00
32542764235576E20042BAA4 /* SDWebImageDownloaderResponseModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 32542762235576E20042BAA4 /* SDWebImageDownloaderResponseModifier.m */; };
32542765235576E20042BAA4 /* SDWebImageDownloaderResponseModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 32542762235576E20042BAA4 /* SDWebImageDownloaderResponseModifier.m */; };
325427662355783C0042BAA4 /* SDWebImageDownloaderResponseModifier.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 32542761235576E20042BAA4 /* SDWebImageDownloaderResponseModifier.h */; };
2018-10-31 15:13:31 +08:00
3257EAFA21898AED0097B271 /* SDImageGraphics.h in Headers */ = {isa = PBXBuildFile; fileRef = 3257EAF721898AED0097B271 /* SDImageGraphics.h */; settings = {ATTRIBUTES = (Public, ); }; };
3257EAFC21898AED0097B271 /* SDImageGraphics.m in Sources */ = {isa = PBXBuildFile; fileRef = 3257EAF821898AED0097B271 /* SDImageGraphics.m */; };
3257EAFD21898AED0097B271 /* SDImageGraphics.m in Sources */ = {isa = PBXBuildFile; fileRef = 3257EAF821898AED0097B271 /* SDImageGraphics.m */; };
2019-03-09 15:19:25 +08:00
325C460322339330004CAE11 /* SDImageAssetManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 325C460022339330004CAE11 /* SDImageAssetManager.h */; settings = {ATTRIBUTES = (Private, ); }; };
325C460422339330004CAE11 /* SDImageAssetManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 325C460122339330004CAE11 /* SDImageAssetManager.m */; };
325C460522339330004CAE11 /* SDImageAssetManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 325C460122339330004CAE11 /* SDImageAssetManager.m */; };
325C460922339426004CAE11 /* SDWeakProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 325C460622339426004CAE11 /* SDWeakProxy.h */; settings = {ATTRIBUTES = (Private, ); }; };
325C460A22339426004CAE11 /* SDWeakProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 325C460722339426004CAE11 /* SDWeakProxy.m */; };
325C460B22339426004CAE11 /* SDWeakProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 325C460722339426004CAE11 /* SDWeakProxy.m */; };
325C460F223394D8004CAE11 /* SDImageCachesManagerOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 325C460C223394D8004CAE11 /* SDImageCachesManagerOperation.h */; settings = {ATTRIBUTES = (Private, ); }; };
325C4610223394D8004CAE11 /* SDImageCachesManagerOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 325C460D223394D8004CAE11 /* SDImageCachesManagerOperation.m */; };
325C4611223394D8004CAE11 /* SDImageCachesManagerOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 325C460D223394D8004CAE11 /* SDImageCachesManagerOperation.m */; };
325C46212233A02E004CAE11 /* UIColor+HexString.h in Headers */ = {isa = PBXBuildFile; fileRef = 325C461E2233A02E004CAE11 /* UIColor+HexString.h */; settings = {ATTRIBUTES = (Private, ); }; };
325C46222233A02E004CAE11 /* UIColor+HexString.m in Sources */ = {isa = PBXBuildFile; fileRef = 325C461F2233A02E004CAE11 /* UIColor+HexString.m */; };
325C46232233A02E004CAE11 /* UIColor+HexString.m in Sources */ = {isa = PBXBuildFile; fileRef = 325C461F2233A02E004CAE11 /* UIColor+HexString.m */; };
325C46272233A0A8004CAE11 /* NSBezierPath+RoundedCorners.h in Headers */ = {isa = PBXBuildFile; fileRef = 325C46242233A0A8004CAE11 /* NSBezierPath+RoundedCorners.h */; settings = {ATTRIBUTES = (Private, ); }; };
325C46282233A0A8004CAE11 /* NSBezierPath+RoundedCorners.m in Sources */ = {isa = PBXBuildFile; fileRef = 325C46252233A0A8004CAE11 /* NSBezierPath+RoundedCorners.m */; };
325C46292233A0A8004CAE11 /* NSBezierPath+RoundedCorners.m in Sources */ = {isa = PBXBuildFile; fileRef = 325C46252233A0A8004CAE11 /* NSBezierPath+RoundedCorners.m */; };
2019-11-25 21:53:12 +08:00
325F7CC623893B2E00AEDFCC /* SDFileAttributeHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 325F7CC423893B2E00AEDFCC /* SDFileAttributeHelper.h */; settings = {ATTRIBUTES = (Private, ); }; };
325F7CC723893B2E00AEDFCC /* SDFileAttributeHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 325F7CC523893B2E00AEDFCC /* SDFileAttributeHelper.m */; };
2019-11-25 15:43:31 +08:00
325F7CCA238942AB00AEDFCC /* UIImage+ExtendedCacheData.h in Headers */ = {isa = PBXBuildFile; fileRef = 325F7CC8238942AB00AEDFCC /* UIImage+ExtendedCacheData.h */; settings = {ATTRIBUTES = (Public, ); }; };
325F7CCB238942AB00AEDFCC /* UIImage+ExtendedCacheData.m in Sources */ = {isa = PBXBuildFile; fileRef = 325F7CC9238942AB00AEDFCC /* UIImage+ExtendedCacheData.m */; };
325F7CCC2389463D00AEDFCC /* UIImage+ExtendedCacheData.m in Sources */ = {isa = PBXBuildFile; fileRef = 325F7CC9238942AB00AEDFCC /* UIImage+ExtendedCacheData.m */; };
325F7CCD2389467800AEDFCC /* UIImage+ExtendedCacheData.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 325F7CC8238942AB00AEDFCC /* UIImage+ExtendedCacheData.h */; };
2019-11-03 22:40:56 +08:00
326E2F2E236F0B23006F847F /* SDAnimatedImagePlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 326E2F2C236F0B23006F847F /* SDAnimatedImagePlayer.h */; settings = {ATTRIBUTES = (Public, ); }; };
326E2F2F236F0B23006F847F /* SDAnimatedImagePlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 326E2F2D236F0B23006F847F /* SDAnimatedImagePlayer.m */; };
326E2F30236F0B23006F847F /* SDAnimatedImagePlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 326E2F2D236F0B23006F847F /* SDAnimatedImagePlayer.m */; };
326E2F33236F1D58006F847F /* SDDeviceHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 326E2F31236F1D58006F847F /* SDDeviceHelper.h */; settings = {ATTRIBUTES = (Private, ); }; };
326E2F34236F1D58006F847F /* SDDeviceHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 326E2F32236F1D58006F847F /* SDDeviceHelper.m */; };
326E2F35236F1D58006F847F /* SDDeviceHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 326E2F32236F1D58006F847F /* SDDeviceHelper.m */; };
326E2F36236F1E30006F847F /* SDAnimatedImagePlayer.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 326E2F2C236F0B23006F847F /* SDAnimatedImagePlayer.h */; };
2018-04-26 22:51:50 +08:00
327054D6206CD8B3006EA328 /* SDImageAPNGCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 327054D2206CD8B3006EA328 /* SDImageAPNGCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
327054DA206CD8B3006EA328 /* SDImageAPNGCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 327054D3206CD8B3006EA328 /* SDImageAPNGCoder.m */; };
327054DC206CD8B3006EA328 /* SDImageAPNGCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 327054D3206CD8B3006EA328 /* SDImageAPNGCoder.m */; };
2018-04-14 18:18:45 +08:00
328BB69E2081FED200760D6C /* SDWebImageCacheKeyFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB69A2081FED200760D6C /* SDWebImageCacheKeyFilter.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6A22081FED200760D6C /* SDWebImageCacheKeyFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB69B2081FED200760D6C /* SDWebImageCacheKeyFilter.m */; };
328BB6A42081FED200760D6C /* SDWebImageCacheKeyFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB69B2081FED200760D6C /* SDWebImageCacheKeyFilter.m */; };
328BB6AC2081FEE500760D6C /* SDWebImageCacheSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6A82081FEE500760D6C /* SDWebImageCacheSerializer.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6B02081FEE500760D6C /* SDWebImageCacheSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6A92081FEE500760D6C /* SDWebImageCacheSerializer.m */; };
328BB6B22081FEE500760D6C /* SDWebImageCacheSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6A92081FEE500760D6C /* SDWebImageCacheSerializer.m */; };
2018-04-15 00:05:09 +08:00
328BB6C32082581100760D6C /* SDDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6BD2082581100760D6C /* SDDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6C72082581100760D6C /* SDDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6BE2082581100760D6C /* SDDiskCache.m */; };
328BB6C92082581100760D6C /* SDDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6BE2082581100760D6C /* SDDiskCache.m */; };
328BB6CF2082581100760D6C /* SDMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 328BB6BF2082581100760D6C /* SDMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
328BB6D32082581100760D6C /* SDMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6C02082581100760D6C /* SDMemoryCache.m */; };
328BB6D52082581100760D6C /* SDMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 328BB6C02082581100760D6C /* SDMemoryCache.m */; };
2018-04-26 22:13:28 +08:00
3290FA061FA478AF0047D20C /* SDImageFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 3290FA021FA478AF0047D20C /* SDImageFrame.h */; settings = {ATTRIBUTES = (Public, ); }; };
3290FA0A1FA478AF0047D20C /* SDImageFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 3290FA031FA478AF0047D20C /* SDImageFrame.m */; };
3290FA0C1FA478AF0047D20C /* SDImageFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 3290FA031FA478AF0047D20C /* SDImageFrame.m */; };
2019-06-03 15:21:26 +08:00
32935CFE22A4FEDE0049C068 /* SDWebImageManager.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 53922D8E148C56230056699D /* SDWebImageManager.h */; };
32935CFF22A4FEDE0049C068 /* SDWebImageCacheKeyFilter.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 328BB69A2081FED200760D6C /* SDWebImageCacheKeyFilter.h */; };
32935D0022A4FEDE0049C068 /* SDWebImageCacheSerializer.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 328BB6A82081FEE500760D6C /* SDWebImageCacheSerializer.h */; };
32935D0122A4FEDE0049C068 /* SDWebImageDownloader.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 53922D8B148C56230056699D /* SDWebImageDownloader.h */; };
32935D0222A4FEDE0049C068 /* SDWebImageDownloaderOperation.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 530E49E316460AE2002868E7 /* SDWebImageDownloaderOperation.h */; };
32935D0322A4FEDE0049C068 /* SDWebImageDownloaderConfig.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 32B9B535206ED4230026769D /* SDWebImageDownloaderConfig.h */; };
32935D0422A4FEDE0049C068 /* SDWebImageDownloaderRequestModifier.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 32F21B4F20788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h */; };
32935D0522A4FEDE0049C068 /* SDImageLoader.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 321B377D2083290D00C0EA77 /* SDImageLoader.h */; };
32935D0622A4FEDE0049C068 /* SDImageLoadersManager.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 321B377F2083290E00C0EA77 /* SDImageLoadersManager.h */; };
32935D0722A4FEDE0049C068 /* SDImageCache.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 53922D85148C56230056699D /* SDImageCache.h */; };
32935D0822A4FEDE0049C068 /* SDImageCacheConfig.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 43A918621D8308FE00B3925F /* SDImageCacheConfig.h */; };
32935D0922A4FEDE0049C068 /* SDMemoryCache.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 328BB6BF2082581100760D6C /* SDMemoryCache.h */; };
32935D0A22A4FEDE0049C068 /* SDDiskCache.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 328BB6BD2082581100760D6C /* SDDiskCache.h */; };
32935D0B22A4FEDE0049C068 /* SDImageCacheDefine.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 32D1221A2080B2EB003685A3 /* SDImageCacheDefine.h */; };
32935D0C22A4FEDE0049C068 /* SDImageCachesManager.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 32D1221D2080B2EB003685A3 /* SDImageCachesManager.h */; };
32935D0D22A4FEDE0049C068 /* SDImageCodersManager.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 807A12261F89636300EC2A9B /* SDImageCodersManager.h */; };
32935D0E22A4FEDE0049C068 /* SDImageCoder.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 321E60841F38E8C800405457 /* SDImageCoder.h */; };
32935D0F22A4FEDE0049C068 /* SDImageIOCoder.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 321E60921F38E8ED00405457 /* SDImageIOCoder.h */; };
32935D1022A4FEDE0049C068 /* SDImageGIFCoder.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 321E60A01F38E8F600405457 /* SDImageGIFCoder.h */; };
32935D1122A4FEDE0049C068 /* SDImageAPNGCoder.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 327054D2206CD8B3006EA328 /* SDImageAPNGCoder.h */; };
32935D1222A4FEDE0049C068 /* SDImageFrame.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 3290FA021FA478AF0047D20C /* SDImageFrame.h */; };
32935D1322A4FEDE0049C068 /* SDImageCoderHelper.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 32CF1C051FA496B000004BD1 /* SDImageCoderHelper.h */; };
32935D1422A4FEDE0049C068 /* SDImageGraphics.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 3257EAF721898AED0097B271 /* SDImageGraphics.h */; };
32935D1522A4FEDE0049C068 /* SDWebImagePrefetcher.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 53922D91148C56230056699D /* SDWebImagePrefetcher.h */; };
32935D1622A4FEDE0049C068 /* SDImageTransformer.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 32F7C06D2030114C00873181 /* SDImageTransformer.h */; };
32935D1722A4FEDE0049C068 /* SDAnimatedImage.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 3248475B201775F600AF9E5A /* SDAnimatedImage.h */; };
32935D1822A4FEDE0049C068 /* SDAnimatedImageView.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 32484759201775F600AF9E5A /* SDAnimatedImageView.h */; };
32935D1922A4FEDE0049C068 /* SDAnimatedImageView+WebCache.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 32484758201775F600AF9E5A /* SDAnimatedImageView+WebCache.h */; };
32935D1A22A4FEDE0049C068 /* SDAnimatedImageRep.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 320224B9203979BA00E9F285 /* SDAnimatedImageRep.h */; };
32935D1B22A4FEDE0049C068 /* SDWebImageCompat.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 53922D88148C56230056699D /* SDWebImageCompat.h */; };
32935D1C22A4FEDE0049C068 /* SDWebImageError.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 320CAE132086F50500CFFC80 /* SDWebImageError.h */; };
32935D1D22A4FEDE0049C068 /* SDWebImageOperation.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 530E49E71646388E002868E7 /* SDWebImageOperation.h */; };
32935D1E22A4FEDE0049C068 /* SDWebImageDefine.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 324DF4B2200A14DC008A84CC /* SDWebImageDefine.h */; };
32935D1F22A4FEDE0049C068 /* SDWebImageTransition.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 325312C6200F09910046BF1E /* SDWebImageTransition.h */; };
32935D2022A4FEDE0049C068 /* SDWebImageIndicator.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 32C0FDDF2013426C001B8F2D /* SDWebImageIndicator.h */; };
32935D2122A4FEDE0049C068 /* NSData+ImageContentType.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 5D5B9140188EE8DD006D06BD /* NSData+ImageContentType.h */; };
32935D2222A4FEDE0049C068 /* UIImage+GIF.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = A18A6CC5172DC28500419892 /* UIImage+GIF.h */; };
32935D2322A4FEDE0049C068 /* UIImage+Metadata.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 329A18571FFF5DFD008C9A2F /* UIImage+Metadata.h */; };
32935D2422A4FEDE0049C068 /* UIImage+MultiFormat.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 53EDFB8817623F7C00698166 /* UIImage+MultiFormat.h */; };
32935D2522A4FEDE0049C068 /* UIImage+ForceDecode.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 321E60BC1F38E91700405457 /* UIImage+ForceDecode.h */; };
32935D2622A4FEDE0049C068 /* UIImage+Transform.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 32F7C07D2030719600873181 /* UIImage+Transform.h */; };
32935D2722A4FEDE0049C068 /* UIImage+MemoryCacheCost.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 32D3CDCD21DDE87300C4DB49 /* UIImage+MemoryCacheCost.h */; };
32935D2822A4FEDE0049C068 /* NSImage+Compatibility.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 4397D2F41D0DE2DF00BB2784 /* NSImage+Compatibility.h */; };
32935D2922A4FEDE0049C068 /* UIView+WebCacheOperation.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = AB615301192DA24600A2D8E9 /* UIView+WebCacheOperation.h */; };
32935D2A22A4FEDE0049C068 /* NSButton+WebCache.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 321DB35F2011D4D60015D2CB /* NSButton+WebCache.h */; };
32935D2B22A4FEDE0049C068 /* UIButton+WebCache.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 53922D93148C56230056699D /* UIButton+WebCache.h */; };
32935D2C22A4FEDE0049C068 /* UIImageView+HighlightedWebCache.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = ABBE71A518C43B4D00B75E91 /* UIImageView+HighlightedWebCache.h */; };
32935D2D22A4FEDE0049C068 /* UIImageView+WebCache.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 53922D95148C56230056699D /* UIImageView+WebCache.h */; };
32935D2E22A4FEDE0049C068 /* UIView+WebCache.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 4369C2751D9807EC007E863A /* UIView+WebCache.h */; };
32935D2F22A4FEE50049C068 /* SDWebImage.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 4A2CAE031AB4BB5400B6BC39 /* SDWebImage.h */; };
2019-09-22 14:29:54 +08:00
3298655C2337230C0071958B /* SDImageHEICCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 3298655A2337230C0071958B /* SDImageHEICCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
3298655D2337230C0071958B /* SDImageHEICCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 3298655B2337230C0071958B /* SDImageHEICCoder.m */; };
3298655E2337230C0071958B /* SDImageHEICCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 3298655B2337230C0071958B /* SDImageHEICCoder.m */; };
3298655F233723220071958B /* SDImageHEICCoder.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 3298655A2337230C0071958B /* SDImageHEICCoder.h */; };
32986562233737C70071958B /* SDImageHEICCoderInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 32986560233737C70071958B /* SDImageHEICCoderInternal.h */; settings = {ATTRIBUTES = (Private, ); }; };
2018-06-25 13:52:46 +08:00
329A185B1FFF5DFD008C9A2F /* 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 */; };
329A18611FFF5DFD008C9A2F /* UIImage+Metadata.m in Sources */ = {isa = PBXBuildFile; fileRef = 329A18581FFF5DFD008C9A2F /* UIImage+Metadata.m */; };
2019-03-21 19:37:18 +08:00
329F1237223FAA3B00B309FD /* SDmetamacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 329F1235223FAA3B00B309FD /* SDmetamacros.h */; settings = {ATTRIBUTES = (Private, ); }; };
2019-03-18 18:46:42 +08:00
329F1240223FAD3400B309FD /* SDInternalMacros.m in Sources */ = {isa = PBXBuildFile; fileRef = 329F123E223FAD3400B309FD /* SDInternalMacros.m */; };
329F1241223FAD3400B309FD /* SDInternalMacros.m in Sources */ = {isa = PBXBuildFile; fileRef = 329F123E223FAD3400B309FD /* SDInternalMacros.m */; };
329F1243223FAD3400B309FD /* SDInternalMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 329F123F223FAD3400B309FD /* SDInternalMacros.h */; settings = {ATTRIBUTES = (Private, ); }; };
2019-09-20 16:47:51 +08:00
32A09E3F233358B700339F9D /* SDImageIOAnimatedCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 32A09E3D233358B700339F9D /* SDImageIOAnimatedCoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
2019-09-19 16:24:42 +08:00
32A09E41233358B700339F9D /* SDImageIOAnimatedCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 32A09E3E233358B700339F9D /* SDImageIOAnimatedCoder.m */; };
32A09E42233358B700339F9D /* SDImageIOAnimatedCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 32A09E3E233358B700339F9D /* SDImageIOAnimatedCoder.m */; };
2019-03-06 13:05:22 +08:00
32B5CC60222F89C2005EB74E /* SDAsyncBlockOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 32B5CC5E222F89C2005EB74E /* SDAsyncBlockOperation.h */; settings = {ATTRIBUTES = (Private, ); }; };
32B5CC61222F89C2005EB74E /* SDAsyncBlockOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B5CC5F222F89C2005EB74E /* SDAsyncBlockOperation.m */; };
32B5CC63222F8B70005EB74E /* SDAsyncBlockOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B5CC5F222F89C2005EB74E /* SDAsyncBlockOperation.m */; };
2018-03-31 05:34:10 +08:00
32B9B539206ED4230026769D /* SDWebImageDownloaderConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 32B9B535206ED4230026769D /* SDWebImageDownloaderConfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
32B9B53D206ED4230026769D /* SDWebImageDownloaderConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B9B536206ED4230026769D /* SDWebImageDownloaderConfig.m */; };
32B9B53F206ED4230026769D /* SDWebImageDownloaderConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B9B536206ED4230026769D /* SDWebImageDownloaderConfig.m */; };
2018-01-20 23:40:16 +08:00
32C0FDE32013426C001B8F2D /* SDWebImageIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 32C0FDDF2013426C001B8F2D /* SDWebImageIndicator.h */; settings = {ATTRIBUTES = (Public, ); }; };
32C0FDE72013426C001B8F2D /* SDWebImageIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 32C0FDE02013426C001B8F2D /* SDWebImageIndicator.m */; };
32C0FDE92013426C001B8F2D /* SDWebImageIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 32C0FDE02013426C001B8F2D /* SDWebImageIndicator.m */; };
2019-09-19 16:24:42 +08:00
32C78E3823336FC800C6B7F8 /* SDImageIOAnimatedCoder.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 32A09E3D233358B700339F9D /* SDImageIOAnimatedCoder.h */; };
32C78E3B233371AD00C6B7F8 /* SDImageIOAnimatedCoderInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 32C78E39233371AD00C6B7F8 /* SDImageIOAnimatedCoderInternal.h */; settings = {ATTRIBUTES = (Private, ); }; };
2018-04-26 22:13:28 +08:00
32CF1C091FA496B000004BD1 /* SDImageCoderHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 32CF1C051FA496B000004BD1 /* SDImageCoderHelper.h */; settings = {ATTRIBUTES = (Public, ); }; };
32CF1C0D1FA496B000004BD1 /* SDImageCoderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 32CF1C061FA496B000004BD1 /* SDImageCoderHelper.m */; };
32CF1C0F1FA496B000004BD1 /* SDImageCoderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 32CF1C061FA496B000004BD1 /* SDImageCoderHelper.m */; };
2018-04-18 19:16:45 +08:00
32D122202080B2EB003685A3 /* SDImageCacheDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 32D1221A2080B2EB003685A3 /* SDImageCacheDefine.h */; settings = {ATTRIBUTES = (Public, ); }; };
32D122242080B2EB003685A3 /* SDImageCacheDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 32D1221B2080B2EB003685A3 /* SDImageCacheDefine.m */; };
32D122262080B2EB003685A3 /* 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 */; };
32D1222C2080B2EB003685A3 /* SDImageCachesManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 32D1221C2080B2EB003685A3 /* SDImageCachesManager.m */; };
32D122322080B2EB003685A3 /* SDImageCachesManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 32D1221D2080B2EB003685A3 /* SDImageCachesManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
2019-01-03 14:54:37 +08:00
32D3CDCE21DDE87300C4DB49 /* UIImage+MemoryCacheCost.m in Sources */ = {isa = PBXBuildFile; fileRef = 32D3CDCC21DDE87300C4DB49 /* UIImage+MemoryCacheCost.m */; };
32D3CDCF21DDE87300C4DB49 /* UIImage+MemoryCacheCost.m in Sources */ = {isa = PBXBuildFile; fileRef = 32D3CDCC21DDE87300C4DB49 /* UIImage+MemoryCacheCost.m */; };
32D3CDD121DDE87300C4DB49 /* UIImage+MemoryCacheCost.h in Headers */ = {isa = PBXBuildFile; fileRef = 32D3CDCD21DDE87300C4DB49 /* UIImage+MemoryCacheCost.h */; settings = {ATTRIBUTES = (Public, ); }; };
2019-06-13 11:52:52 +08:00
32E5690822B1FFCA00CBABC6 /* SDWebImageOptionsProcessor.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 324406292296C5F400A36084 /* SDWebImageOptionsProcessor.h */; };
2019-10-17 00:56:32 +08:00
32E67311235765B500DB4987 /* SDDisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 32E6730F235765B500DB4987 /* SDDisplayLink.h */; settings = {ATTRIBUTES = (Private, ); }; };
32E67312235765B500DB4987 /* SDDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 32E67310235765B500DB4987 /* SDDisplayLink.m */; };
32E67313235765B500DB4987 /* SDDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 32E67310235765B500DB4987 /* SDDisplayLink.m */; };
2018-03-29 20:28:50 +08:00
32EB6D8E206D132E005CAEF6 /* SDAnimatedImageRep.m in Sources */ = {isa = PBXBuildFile; fileRef = 320224BA203979BA00E9F285 /* SDAnimatedImageRep.m */; };
32EB6D91206D132E005CAEF6 /* SDAnimatedImageRep.m in Sources */ = {isa = PBXBuildFile; fileRef = 320224BA203979BA00E9F285 /* SDAnimatedImageRep.m */; };
2018-04-07 13:47:54 +08:00
32F21B5320788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F21B4F20788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F21B5720788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F21B5020788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m */; };
32F21B5920788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F21B5020788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m */; };
2018-04-26 21:30:44 +08:00
32F7C0712030114C00873181 /* SDImageTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F7C06D2030114C00873181 /* SDImageTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; };
32F7C0752030114C00873181 /* SDImageTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F7C06E2030114C00873181 /* SDImageTransformer.m */; };
32F7C0772030114C00873181 /* 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 */; };
32F7C0802030719600873181 /* UIImage+Transform.m in Sources */ = {isa = PBXBuildFile; fileRef = 32F7C07C2030719600873181 /* UIImage+Transform.m */; };
2018-02-13 18:30:25 +08:00
32F7C0862030719600873181 /* UIImage+Transform.h in Headers */ = {isa = PBXBuildFile; fileRef = 32F7C07D2030719600873181 /* UIImage+Transform.h */; settings = {ATTRIBUTES = (Public, ); }; };
2016-09-26 00:44:52 +08:00
4369C2791D9807EC007E863A /* 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 */; };
4369C2801D9807EC007E863A /* UIView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4369C2761D9807EC007E863A /* UIView+WebCache.m */; };
2016-09-26 00:27:10 +08:00
43A918661D8308FE00B3925F /* 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 */; };
43A9186D1D8308FE00B3925F /* 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
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 */; };
2013-06-08 01:39:07 +08:00
53EDFB8C17623F7C00698166 /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 53EDFB8917623F7C00698166 /* UIImage+MultiFormat.m */; };
2014-01-22 01:57:50 +08:00
5D5B9145188EE8DD006D06BD /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D5B9141188EE8DD006D06BD /* NSData+ImageContentType.m */; };
2018-09-07 21:54:18 +08:00
806BE07C2142C4A200E02143 /* SDWebImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4A2CADFF1AB4BB5300B6BC39 /* SDWebImage.framework */; };
806BE07E2142C65200E02143 /* SDWebImageMapKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 806BE07D2142C65200E02143 /* SDWebImageMapKit.h */; settings = {ATTRIBUTES = (Public, ); }; };
2018-04-26 22:51:50 +08:00
807A122A1F89636300EC2A9B /* SDImageCodersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 807A12261F89636300EC2A9B /* SDImageCodersManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
807A122E1F89636300EC2A9B /* SDImageCodersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 807A12271F89636300EC2A9B /* SDImageCodersManager.m */; };
807A12301F89636300EC2A9B /* SDImageCodersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 807A12271F89636300EC2A9B /* SDImageCodersManager.m */; };
2018-09-07 21:54:18 +08:00
80B6DF7F2142B43300BCB334 /* NSImage+Compatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 4397D2F41D0DE2DF00BB2784 /* NSImage+Compatibility.h */; settings = {ATTRIBUTES = (Public, ); }; };
80B6DF812142B43B00BCB334 /* SDAnimatedImageRep.h in Headers */ = {isa = PBXBuildFile; fileRef = 320224B9203979BA00E9F285 /* SDAnimatedImageRep.h */; settings = {ATTRIBUTES = (Public, ); }; };
80B6DF822142B44400BCB334 /* NSButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 321DB3602011D4D60015D2CB /* NSButton+WebCache.m */; };
80B6DF832142B44500BCB334 /* NSButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 321DB3602011D4D60015D2CB /* NSButton+WebCache.m */; };
80B6DF842142B44600BCB334 /* NSButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 321DB35F2011D4D60015D2CB /* NSButton+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
80B6DFA72142B71600BCB334 /* MKAnnotationView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 32FDE87A2088871B008D7530 /* MKAnnotationView+WebCache.m */; };
80B6DFCD2142B71600BCB334 /* MKAnnotationView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 32FDE87B2088871B008D7530 /* MKAnnotationView+WebCache.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 */; };
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
ABBE71A818C43B4D00B75E91 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = ABBE71A618C43B4D00B75E91 /* UIImageView+HighlightedWebCache.m */; };
2011-12-05 09:48:58 +08:00
/* End PBXBuildFile section */
2018-09-07 21:54:18 +08:00
/* Begin PBXContainerItemProxy section */
806BE07F2142C6C400E02143 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 53922D66148C55810056699D /* Project object */;
proxyType = 1;
remoteGlobalIDString = 4A2CADFE1AB4BB5300B6BC39;
remoteInfo = SDWebImage;
};
/* End PBXContainerItemProxy section */
2019-06-03 15:21:26 +08:00
/* Begin PBXCopyFilesBuildPhase section */
326C15A122A4E8AD0001F663 /* Copy Headers */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = include/SDWebImage;
dstSubfolderSpec = 16;
files = (
2019-11-25 15:43:31 +08:00
325F7CCD2389467800AEDFCC /* UIImage+ExtendedCacheData.h in Copy Headers */,
2019-11-03 22:40:56 +08:00
326E2F36236F1E30006F847F /* SDAnimatedImagePlayer.h in Copy Headers */,
2019-10-15 20:10:00 +08:00
3250C9F12355E3DF0093A896 /* SDWebImageDownloaderDecryptor.h in Copy Headers */,
2019-10-15 14:36:41 +08:00
325427662355783C0042BAA4 /* SDWebImageDownloaderResponseModifier.h in Copy Headers */,
2019-09-22 14:29:54 +08:00
3298655F233723220071958B /* SDImageHEICCoder.h in Copy Headers */,
2019-09-19 16:24:42 +08:00
32C78E3823336FC800C6B7F8 /* SDImageIOAnimatedCoder.h in Copy Headers */,
2019-06-13 11:52:52 +08:00
32E5690822B1FFCA00CBABC6 /* SDWebImageOptionsProcessor.h in Copy Headers */,
2019-06-03 15:21:26 +08:00
32935D2F22A4FEE50049C068 /* SDWebImage.h in Copy Headers */,
32935CFE22A4FEDE0049C068 /* SDWebImageManager.h in Copy Headers */,
32935CFF22A4FEDE0049C068 /* SDWebImageCacheKeyFilter.h in Copy Headers */,
32935D0022A4FEDE0049C068 /* SDWebImageCacheSerializer.h in Copy Headers */,
32935D0122A4FEDE0049C068 /* SDWebImageDownloader.h in Copy Headers */,
32935D0222A4FEDE0049C068 /* SDWebImageDownloaderOperation.h in Copy Headers */,
32935D0322A4FEDE0049C068 /* SDWebImageDownloaderConfig.h in Copy Headers */,
32935D0422A4FEDE0049C068 /* SDWebImageDownloaderRequestModifier.h in Copy Headers */,
32935D0522A4FEDE0049C068 /* SDImageLoader.h in Copy Headers */,
32935D0622A4FEDE0049C068 /* SDImageLoadersManager.h in Copy Headers */,
32935D0722A4FEDE0049C068 /* SDImageCache.h in Copy Headers */,
32935D0822A4FEDE0049C068 /* SDImageCacheConfig.h in Copy Headers */,
32935D0922A4FEDE0049C068 /* SDMemoryCache.h in Copy Headers */,
32935D0A22A4FEDE0049C068 /* SDDiskCache.h in Copy Headers */,
32935D0B22A4FEDE0049C068 /* SDImageCacheDefine.h in Copy Headers */,
32935D0C22A4FEDE0049C068 /* SDImageCachesManager.h in Copy Headers */,
32935D0D22A4FEDE0049C068 /* SDImageCodersManager.h in Copy Headers */,
32935D0E22A4FEDE0049C068 /* SDImageCoder.h in Copy Headers */,
32935D0F22A4FEDE0049C068 /* SDImageIOCoder.h in Copy Headers */,
32935D1022A4FEDE0049C068 /* SDImageGIFCoder.h in Copy Headers */,
32935D1122A4FEDE0049C068 /* SDImageAPNGCoder.h in Copy Headers */,
32935D1222A4FEDE0049C068 /* SDImageFrame.h in Copy Headers */,
32935D1322A4FEDE0049C068 /* SDImageCoderHelper.h in Copy Headers */,
32935D1422A4FEDE0049C068 /* SDImageGraphics.h in Copy Headers */,
32935D1522A4FEDE0049C068 /* SDWebImagePrefetcher.h in Copy Headers */,
32935D1622A4FEDE0049C068 /* SDImageTransformer.h in Copy Headers */,
32935D1722A4FEDE0049C068 /* SDAnimatedImage.h in Copy Headers */,
32935D1822A4FEDE0049C068 /* SDAnimatedImageView.h in Copy Headers */,
32935D1922A4FEDE0049C068 /* SDAnimatedImageView+WebCache.h in Copy Headers */,
32935D1A22A4FEDE0049C068 /* SDAnimatedImageRep.h in Copy Headers */,
32935D1B22A4FEDE0049C068 /* SDWebImageCompat.h in Copy Headers */,
32935D1C22A4FEDE0049C068 /* SDWebImageError.h in Copy Headers */,
32935D1D22A4FEDE0049C068 /* SDWebImageOperation.h in Copy Headers */,
32935D1E22A4FEDE0049C068 /* SDWebImageDefine.h in Copy Headers */,
32935D1F22A4FEDE0049C068 /* SDWebImageTransition.h in Copy Headers */,
32935D2022A4FEDE0049C068 /* SDWebImageIndicator.h in Copy Headers */,
32935D2122A4FEDE0049C068 /* NSData+ImageContentType.h in Copy Headers */,
32935D2222A4FEDE0049C068 /* UIImage+GIF.h in Copy Headers */,
32935D2322A4FEDE0049C068 /* UIImage+Metadata.h in Copy Headers */,
32935D2422A4FEDE0049C068 /* UIImage+MultiFormat.h in Copy Headers */,
32935D2522A4FEDE0049C068 /* UIImage+ForceDecode.h in Copy Headers */,
32935D2622A4FEDE0049C068 /* UIImage+Transform.h in Copy Headers */,
32935D2722A4FEDE0049C068 /* UIImage+MemoryCacheCost.h in Copy Headers */,
32935D2822A4FEDE0049C068 /* NSImage+Compatibility.h in Copy Headers */,
32935D2922A4FEDE0049C068 /* UIView+WebCacheOperation.h in Copy Headers */,
32935D2A22A4FEDE0049C068 /* NSButton+WebCache.h in Copy Headers */,
32935D2B22A4FEDE0049C068 /* UIButton+WebCache.h in Copy Headers */,
32935D2C22A4FEDE0049C068 /* UIImageView+HighlightedWebCache.h in Copy Headers */,
32935D2D22A4FEDE0049C068 /* UIImageView+WebCache.h in Copy Headers */,
32935D2E22A4FEDE0049C068 /* UIView+WebCache.h in Copy Headers */,
);
name = "Copy Headers";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
2011-12-05 09:48:58 +08:00
/* Begin PBXFileReference section */
2019-07-23 17:06:25 +08:00
320224B9203979BA00E9F285 /* SDAnimatedImageRep.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImageRep.h; path = Core/SDAnimatedImageRep.h; sourceTree = "<group>"; };
320224BA203979BA00E9F285 /* SDAnimatedImageRep.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImageRep.m; path = Core/SDAnimatedImageRep.m; sourceTree = "<group>"; };
320CAE132086F50500CFFC80 /* SDWebImageError.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDWebImageError.h; path = Core/SDWebImageError.h; sourceTree = "<group>"; };
320CAE142086F50500CFFC80 /* SDWebImageError.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDWebImageError.m; path = Core/SDWebImageError.m; sourceTree = "<group>"; };
321B377D2083290D00C0EA77 /* SDImageLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDImageLoader.h; path = Core/SDImageLoader.h; sourceTree = "<group>"; };
321B377E2083290D00C0EA77 /* SDImageLoader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDImageLoader.m; path = Core/SDImageLoader.m; sourceTree = "<group>"; };
321B377F2083290E00C0EA77 /* SDImageLoadersManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDImageLoadersManager.h; path = Core/SDImageLoadersManager.h; sourceTree = "<group>"; };
321B37802083290E00C0EA77 /* SDImageLoadersManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDImageLoadersManager.m; path = Core/SDImageLoadersManager.m; sourceTree = "<group>"; };
321DB35F2011D4D60015D2CB /* NSButton+WebCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSButton+WebCache.h"; path = "SDWebImage/Core/NSButton+WebCache.h"; sourceTree = "<group>"; };
321DB3602011D4D60015D2CB /* NSButton+WebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSButton+WebCache.m"; path = "SDWebImage/Core/NSButton+WebCache.m"; sourceTree = "<group>"; };
321E60841F38E8C800405457 /* SDImageCoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDImageCoder.h; path = Core/SDImageCoder.h; sourceTree = "<group>"; };
321E60851F38E8C800405457 /* SDImageCoder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDImageCoder.m; path = Core/SDImageCoder.m; sourceTree = "<group>"; };
321E60921F38E8ED00405457 /* SDImageIOCoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDImageIOCoder.h; path = Core/SDImageIOCoder.h; sourceTree = "<group>"; };
321E60931F38E8ED00405457 /* SDImageIOCoder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDImageIOCoder.m; path = Core/SDImageIOCoder.m; sourceTree = "<group>"; };
321E60A01F38E8F600405457 /* SDImageGIFCoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDImageGIFCoder.h; path = Core/SDImageGIFCoder.h; sourceTree = "<group>"; };
321E60A11F38E8F600405457 /* SDImageGIFCoder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDImageGIFCoder.m; path = Core/SDImageGIFCoder.m; sourceTree = "<group>"; };
321E60BC1F38E91700405457 /* UIImage+ForceDecode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIImage+ForceDecode.h"; path = "Core/UIImage+ForceDecode.h"; sourceTree = "<group>"; };
321E60BD1F38E91700405457 /* UIImage+ForceDecode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIImage+ForceDecode.m"; path = "Core/UIImage+ForceDecode.m"; sourceTree = "<group>"; };
2019-12-03 21:20:20 +08:00
3240BB6623968FE6003BA07D /* SDAssociatedObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDAssociatedObject.h; sourceTree = "<group>"; };
3240BB6723968FE6003BA07D /* SDAssociatedObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDAssociatedObject.m; sourceTree = "<group>"; };
2019-07-23 17:06:25 +08:00
324406292296C5F400A36084 /* SDWebImageOptionsProcessor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDWebImageOptionsProcessor.h; path = Core/SDWebImageOptionsProcessor.h; sourceTree = "<group>"; };
3244062A2296C5F400A36084 /* SDWebImageOptionsProcessor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDWebImageOptionsProcessor.m; path = Core/SDWebImageOptionsProcessor.m; sourceTree = "<group>"; };
32484757201775F600AF9E5A /* SDAnimatedImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImageView.m; path = Core/SDAnimatedImageView.m; sourceTree = "<group>"; };
32484758201775F600AF9E5A /* SDAnimatedImageView+WebCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "SDAnimatedImageView+WebCache.h"; path = "Core/SDAnimatedImageView+WebCache.h"; sourceTree = "<group>"; };
32484759201775F600AF9E5A /* SDAnimatedImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImageView.h; path = Core/SDAnimatedImageView.h; sourceTree = "<group>"; };
3248475A201775F600AF9E5A /* SDAnimatedImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImage.m; path = Core/SDAnimatedImage.m; sourceTree = "<group>"; };
3248475B201775F600AF9E5A /* SDAnimatedImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImage.h; path = Core/SDAnimatedImage.h; sourceTree = "<group>"; };
3248475C201775F600AF9E5A /* SDAnimatedImageView+WebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "SDAnimatedImageView+WebCache.m"; path = "Core/SDAnimatedImageView+WebCache.m"; sourceTree = "<group>"; };
324DF4B2200A14DC008A84CC /* SDWebImageDefine.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDWebImageDefine.h; path = Core/SDWebImageDefine.h; sourceTree = "<group>"; };
324DF4B3200A14DC008A84CC /* SDWebImageDefine.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDefine.m; path = Core/SDWebImageDefine.m; sourceTree = "<group>"; };
2019-10-15 20:10:00 +08:00
3250C9EC2355D9DA0093A896 /* SDWebImageDownloaderDecryptor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderDecryptor.h; path = Core/SDWebImageDownloaderDecryptor.h; sourceTree = "<group>"; };
3250C9ED2355D9DA0093A896 /* SDWebImageDownloaderDecryptor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderDecryptor.m; path = Core/SDWebImageDownloaderDecryptor.m; sourceTree = "<group>"; };
2019-07-23 17:06:25 +08:00
325312C6200F09910046BF1E /* SDWebImageTransition.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDWebImageTransition.h; path = Core/SDWebImageTransition.h; sourceTree = "<group>"; };
325312C7200F09910046BF1E /* SDWebImageTransition.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDWebImageTransition.m; path = Core/SDWebImageTransition.m; sourceTree = "<group>"; };
2019-10-15 14:36:41 +08:00
32542761235576E20042BAA4 /* SDWebImageDownloaderResponseModifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderResponseModifier.h; path = Core/SDWebImageDownloaderResponseModifier.h; sourceTree = "<group>"; };
32542762235576E20042BAA4 /* SDWebImageDownloaderResponseModifier.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderResponseModifier.m; path = Core/SDWebImageDownloaderResponseModifier.m; sourceTree = "<group>"; };
2019-07-23 17:06:25 +08:00
3257EAF721898AED0097B271 /* SDImageGraphics.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDImageGraphics.h; path = Core/SDImageGraphics.h; sourceTree = "<group>"; };
3257EAF821898AED0097B271 /* SDImageGraphics.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDImageGraphics.m; path = Core/SDImageGraphics.m; sourceTree = "<group>"; };
2019-03-09 15:19:25 +08:00
325C460022339330004CAE11 /* SDImageAssetManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDImageAssetManager.h; sourceTree = "<group>"; };
325C460122339330004CAE11 /* SDImageAssetManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDImageAssetManager.m; sourceTree = "<group>"; };
325C460622339426004CAE11 /* SDWeakProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDWeakProxy.h; sourceTree = "<group>"; };
325C460722339426004CAE11 /* SDWeakProxy.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDWeakProxy.m; sourceTree = "<group>"; };
325C460C223394D8004CAE11 /* SDImageCachesManagerOperation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDImageCachesManagerOperation.h; sourceTree = "<group>"; };
325C460D223394D8004CAE11 /* SDImageCachesManagerOperation.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDImageCachesManagerOperation.m; sourceTree = "<group>"; };
325C461E2233A02E004CAE11 /* UIColor+HexString.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIColor+HexString.h"; sourceTree = "<group>"; };
325C461F2233A02E004CAE11 /* UIColor+HexString.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIColor+HexString.m"; sourceTree = "<group>"; };
325C46242233A0A8004CAE11 /* NSBezierPath+RoundedCorners.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSBezierPath+RoundedCorners.h"; sourceTree = "<group>"; };
325C46252233A0A8004CAE11 /* NSBezierPath+RoundedCorners.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSBezierPath+RoundedCorners.m"; sourceTree = "<group>"; };
2019-11-25 21:53:12 +08:00
325F7CC423893B2E00AEDFCC /* SDFileAttributeHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDFileAttributeHelper.h; sourceTree = "<group>"; };
325F7CC523893B2E00AEDFCC /* SDFileAttributeHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDFileAttributeHelper.m; sourceTree = "<group>"; };
2019-11-25 15:43:31 +08:00
325F7CC8238942AB00AEDFCC /* UIImage+ExtendedCacheData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "UIImage+ExtendedCacheData.h"; path = "Core/UIImage+ExtendedCacheData.h"; sourceTree = "<group>"; };
325F7CC9238942AB00AEDFCC /* UIImage+ExtendedCacheData.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "UIImage+ExtendedCacheData.m"; path = "Core/UIImage+ExtendedCacheData.m"; sourceTree = "<group>"; };
2019-11-03 22:40:56 +08:00
326E2F2C236F0B23006F847F /* SDAnimatedImagePlayer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImagePlayer.h; path = Core/SDAnimatedImagePlayer.h; sourceTree = "<group>"; };
326E2F2D236F0B23006F847F /* SDAnimatedImagePlayer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImagePlayer.m; path = Core/SDAnimatedImagePlayer.m; sourceTree = "<group>"; };
326E2F31236F1D58006F847F /* SDDeviceHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDDeviceHelper.h; sourceTree = "<group>"; };
326E2F32236F1D58006F847F /* SDDeviceHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDDeviceHelper.m; sourceTree = "<group>"; };
2019-07-23 17:06:25 +08:00
327054D2206CD8B3006EA328 /* SDImageAPNGCoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDImageAPNGCoder.h; path = Core/SDImageAPNGCoder.h; sourceTree = "<group>"; };
327054D3206CD8B3006EA328 /* SDImageAPNGCoder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDImageAPNGCoder.m; path = Core/SDImageAPNGCoder.m; sourceTree = "<group>"; };
328BB69A2081FED200760D6C /* SDWebImageCacheKeyFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDWebImageCacheKeyFilter.h; path = Core/SDWebImageCacheKeyFilter.h; sourceTree = "<group>"; };
328BB69B2081FED200760D6C /* SDWebImageCacheKeyFilter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCacheKeyFilter.m; path = Core/SDWebImageCacheKeyFilter.m; sourceTree = "<group>"; };
328BB6A82081FEE500760D6C /* SDWebImageCacheSerializer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDWebImageCacheSerializer.h; path = Core/SDWebImageCacheSerializer.h; sourceTree = "<group>"; };
328BB6A92081FEE500760D6C /* SDWebImageCacheSerializer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCacheSerializer.m; path = Core/SDWebImageCacheSerializer.m; sourceTree = "<group>"; };
328BB6BD2082581100760D6C /* SDDiskCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDDiskCache.h; path = Core/SDDiskCache.h; sourceTree = "<group>"; };
328BB6BE2082581100760D6C /* SDDiskCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDDiskCache.m; path = Core/SDDiskCache.m; sourceTree = "<group>"; };
328BB6BF2082581100760D6C /* SDMemoryCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDMemoryCache.h; path = Core/SDMemoryCache.h; sourceTree = "<group>"; };
328BB6C02082581100760D6C /* SDMemoryCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDMemoryCache.m; path = Core/SDMemoryCache.m; sourceTree = "<group>"; };
3290FA021FA478AF0047D20C /* SDImageFrame.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDImageFrame.h; path = Core/SDImageFrame.h; sourceTree = "<group>"; };
3290FA031FA478AF0047D20C /* SDImageFrame.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDImageFrame.m; path = Core/SDImageFrame.m; sourceTree = "<group>"; };
2019-09-22 14:29:54 +08:00
3298655A2337230C0071958B /* SDImageHEICCoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDImageHEICCoder.h; path = Core/SDImageHEICCoder.h; sourceTree = "<group>"; };
3298655B2337230C0071958B /* SDImageHEICCoder.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDImageHEICCoder.m; path = Core/SDImageHEICCoder.m; sourceTree = "<group>"; };
32986560233737C70071958B /* SDImageHEICCoderInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDImageHEICCoderInternal.h; sourceTree = "<group>"; };
2019-07-23 17:06:25 +08:00
329A18571FFF5DFD008C9A2F /* UIImage+Metadata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIImage+Metadata.h"; path = "Core/UIImage+Metadata.h"; sourceTree = "<group>"; };
329A18581FFF5DFD008C9A2F /* UIImage+Metadata.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Metadata.m"; path = "Core/UIImage+Metadata.m"; sourceTree = "<group>"; };
2019-03-21 19:37:18 +08:00
329F1235223FAA3B00B309FD /* SDmetamacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDmetamacros.h; sourceTree = "<group>"; };
2019-03-18 18:46:42 +08:00
329F123E223FAD3400B309FD /* SDInternalMacros.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDInternalMacros.m; sourceTree = "<group>"; };
329F123F223FAD3400B309FD /* SDInternalMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDInternalMacros.h; sourceTree = "<group>"; };
2019-09-19 16:24:42 +08:00
32A09E3D233358B700339F9D /* SDImageIOAnimatedCoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDImageIOAnimatedCoder.h; path = Core/SDImageIOAnimatedCoder.h; sourceTree = "<group>"; };
32A09E3E233358B700339F9D /* SDImageIOAnimatedCoder.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDImageIOAnimatedCoder.m; path = Core/SDImageIOAnimatedCoder.m; sourceTree = "<group>"; };
2019-03-06 13:05:22 +08:00
32B5CC5E222F89C2005EB74E /* SDAsyncBlockOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDAsyncBlockOperation.h; sourceTree = "<group>"; };
32B5CC5F222F89C2005EB74E /* SDAsyncBlockOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDAsyncBlockOperation.m; sourceTree = "<group>"; };
2019-07-23 17:06:25 +08:00
32B9B535206ED4230026769D /* SDWebImageDownloaderConfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderConfig.h; path = Core/SDWebImageDownloaderConfig.h; sourceTree = "<group>"; };
32B9B536206ED4230026769D /* SDWebImageDownloaderConfig.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderConfig.m; path = Core/SDWebImageDownloaderConfig.m; sourceTree = "<group>"; };
32C0FDDF2013426C001B8F2D /* SDWebImageIndicator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDWebImageIndicator.h; path = Core/SDWebImageIndicator.h; sourceTree = "<group>"; };
32C0FDE02013426C001B8F2D /* SDWebImageIndicator.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDWebImageIndicator.m; path = Core/SDWebImageIndicator.m; sourceTree = "<group>"; };
2019-09-19 16:24:42 +08:00
32C78E39233371AD00C6B7F8 /* SDImageIOAnimatedCoderInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDImageIOAnimatedCoderInternal.h; sourceTree = "<group>"; };
2019-07-23 17:06:25 +08:00
32CF1C051FA496B000004BD1 /* SDImageCoderHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDImageCoderHelper.h; path = Core/SDImageCoderHelper.h; sourceTree = "<group>"; };
32CF1C061FA496B000004BD1 /* SDImageCoderHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDImageCoderHelper.m; path = Core/SDImageCoderHelper.m; sourceTree = "<group>"; };
32D1221A2080B2EB003685A3 /* SDImageCacheDefine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDImageCacheDefine.h; path = Core/SDImageCacheDefine.h; sourceTree = "<group>"; };
32D1221B2080B2EB003685A3 /* SDImageCacheDefine.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDImageCacheDefine.m; path = Core/SDImageCacheDefine.m; sourceTree = "<group>"; };
32D1221C2080B2EB003685A3 /* SDImageCachesManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDImageCachesManager.m; path = Core/SDImageCachesManager.m; sourceTree = "<group>"; };
32D1221D2080B2EB003685A3 /* SDImageCachesManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDImageCachesManager.h; path = Core/SDImageCachesManager.h; sourceTree = "<group>"; };
32D3CDCC21DDE87300C4DB49 /* UIImage+MemoryCacheCost.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MemoryCacheCost.m"; path = "Core/UIImage+MemoryCacheCost.m"; sourceTree = "<group>"; };
32D3CDCD21DDE87300C4DB49 /* UIImage+MemoryCacheCost.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIImage+MemoryCacheCost.h"; path = "Core/UIImage+MemoryCacheCost.h"; sourceTree = "<group>"; };
2019-10-17 00:56:32 +08:00
32E6730F235765B500DB4987 /* SDDisplayLink.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDDisplayLink.h; sourceTree = "<group>"; };
32E67310235765B500DB4987 /* SDDisplayLink.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDDisplayLink.m; sourceTree = "<group>"; };
2019-07-23 17:06:25 +08:00
32F21B4F20788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderRequestModifier.h; path = Core/SDWebImageDownloaderRequestModifier.h; sourceTree = "<group>"; };
32F21B5020788D8C0036B1D5 /* SDWebImageDownloaderRequestModifier.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderRequestModifier.m; path = Core/SDWebImageDownloaderRequestModifier.m; sourceTree = "<group>"; };
32F7C06D2030114C00873181 /* SDImageTransformer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDImageTransformer.h; path = Core/SDImageTransformer.h; sourceTree = "<group>"; };
32F7C06E2030114C00873181 /* SDImageTransformer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDImageTransformer.m; path = Core/SDImageTransformer.m; sourceTree = "<group>"; };
32F7C07C2030719600873181 /* UIImage+Transform.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Transform.m"; path = "Core/UIImage+Transform.m"; sourceTree = "<group>"; };
32F7C07D2030719600873181 /* UIImage+Transform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIImage+Transform.h"; path = "Core/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>"; };
2019-07-23 17:06:25 +08:00
4369C2751D9807EC007E863A /* UIView+WebCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCache.h"; path = "SDWebImage/Core/UIView+WebCache.h"; sourceTree = "<group>"; };
4369C2761D9807EC007E863A /* UIView+WebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCache.m"; path = "SDWebImage/Core/UIView+WebCache.m"; sourceTree = "<group>"; };
4397D2F41D0DE2DF00BB2784 /* NSImage+Compatibility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSImage+Compatibility.h"; path = "Core/NSImage+Compatibility.h"; sourceTree = "<group>"; };
4397D2F51D0DE2DF00BB2784 /* NSImage+Compatibility.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSImage+Compatibility.m"; path = "Core/NSImage+Compatibility.m"; sourceTree = "<group>"; };
43A918621D8308FE00B3925F /* SDImageCacheConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDImageCacheConfig.h; path = Core/SDImageCacheConfig.h; sourceTree = "<group>"; };
43A918631D8308FE00B3925F /* SDImageCacheConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDImageCacheConfig.m; path = Core/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>"; };
2019-07-23 17:06:25 +08:00
530E49E316460AE2002868E7 /* SDWebImageDownloaderOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderOperation.h; path = Core/SDWebImageDownloaderOperation.h; sourceTree = "<group>"; };
530E49E416460AE2002868E7 /* SDWebImageDownloaderOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderOperation.m; path = Core/SDWebImageDownloaderOperation.m; sourceTree = "<group>"; };
530E49E71646388E002868E7 /* SDWebImageOperation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDWebImageOperation.h; path = Core/SDWebImageOperation.h; sourceTree = "<group>"; };
5340674F167780C40042B59E /* SDWebImageCompat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCompat.m; path = Core/SDWebImageCompat.m; sourceTree = "<group>"; };
2018-09-23 19:34:27 +08:00
53761325155AD0D5005750A4 /* libSDWebImage.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDWebImage.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; };
2019-07-23 17:06:25 +08:00
53922D85148C56230056699D /* SDImageCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDImageCache.h; path = SDWebImage/Core/SDImageCache.h; sourceTree = SOURCE_ROOT; };
53922D86148C56230056699D /* SDImageCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDImageCache.m; path = SDWebImage/Core/SDImageCache.m; sourceTree = SOURCE_ROOT; };
53922D88148C56230056699D /* SDWebImageCompat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDWebImageCompat.h; path = SDWebImage/Core/SDWebImageCompat.h; sourceTree = SOURCE_ROOT; };
53922D8B148C56230056699D /* SDWebImageDownloader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloader.h; path = SDWebImage/Core/SDWebImageDownloader.h; sourceTree = SOURCE_ROOT; };
53922D8C148C56230056699D /* SDWebImageDownloader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloader.m; path = SDWebImage/Core/SDWebImageDownloader.m; sourceTree = SOURCE_ROOT; };
53922D8E148C56230056699D /* SDWebImageManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDWebImageManager.h; path = SDWebImage/Core/SDWebImageManager.h; sourceTree = SOURCE_ROOT; };
53922D8F148C56230056699D /* SDWebImageManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDWebImageManager.m; path = SDWebImage/Core/SDWebImageManager.m; sourceTree = SOURCE_ROOT; };
53922D91148C56230056699D /* SDWebImagePrefetcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDWebImagePrefetcher.h; path = SDWebImage/Core/SDWebImagePrefetcher.h; sourceTree = SOURCE_ROOT; };
53922D92148C56230056699D /* SDWebImagePrefetcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDWebImagePrefetcher.m; path = SDWebImage/Core/SDWebImagePrefetcher.m; sourceTree = SOURCE_ROOT; };
53922D93148C56230056699D /* UIButton+WebCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIButton+WebCache.h"; path = "SDWebImage/Core/UIButton+WebCache.h"; sourceTree = SOURCE_ROOT; };
53922D94148C56230056699D /* UIButton+WebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIButton+WebCache.m"; path = "SDWebImage/Core/UIButton+WebCache.m"; sourceTree = SOURCE_ROOT; };
53922D95148C56230056699D /* UIImageView+WebCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIImageView+WebCache.h"; path = "SDWebImage/Core/UIImageView+WebCache.h"; sourceTree = SOURCE_ROOT; };
53922D96148C56230056699D /* UIImageView+WebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+WebCache.m"; path = "SDWebImage/Core/UIImageView+WebCache.m"; sourceTree = SOURCE_ROOT; };
53EDFB8817623F7C00698166 /* UIImage+MultiFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIImage+MultiFormat.h"; path = "Core/UIImage+MultiFormat.h"; sourceTree = "<group>"; };
53EDFB8917623F7C00698166 /* UIImage+MultiFormat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MultiFormat.m"; path = "Core/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; };
2019-07-23 17:06:25 +08:00
5D5B9140188EE8DD006D06BD /* NSData+ImageContentType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSData+ImageContentType.h"; path = "Core/NSData+ImageContentType.h"; sourceTree = "<group>"; };
5D5B9141188EE8DD006D06BD /* NSData+ImageContentType.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSData+ImageContentType.m"; path = "Core/NSData+ImageContentType.m"; sourceTree = "<group>"; };
2018-09-07 21:54:18 +08:00
806BE07D2142C65200E02143 /* SDWebImageMapKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDWebImageMapKit.h; sourceTree = "<group>"; };
2019-07-23 17:06:25 +08:00
807A12261F89636300EC2A9B /* SDImageCodersManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SDImageCodersManager.h; path = Core/SDImageCodersManager.h; sourceTree = "<group>"; };
807A12271F89636300EC2A9B /* SDImageCodersManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDImageCodersManager.m; path = Core/SDImageCodersManager.m; sourceTree = "<group>"; };
2018-09-07 21:54:18 +08:00
80B6DFEE2142B71600BCB334 /* SDWebImageMapKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDWebImageMapKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
80B6DFF12142B77E00BCB334 /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; };
2019-07-23 17:06:25 +08:00
A18A6CC5172DC28500419892 /* UIImage+GIF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIImage+GIF.h"; path = "Core/UIImage+GIF.h"; sourceTree = "<group>"; };
A18A6CC6172DC28500419892 /* UIImage+GIF.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIImage+GIF.m"; path = "Core/UIImage+GIF.m"; sourceTree = "<group>"; };
AB615301192DA24600A2D8E9 /* UIView+WebCacheOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCacheOperation.h"; path = "Core/UIView+WebCacheOperation.h"; sourceTree = "<group>"; };
AB615302192DA24600A2D8E9 /* UIView+WebCacheOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCacheOperation.m"; path = "Core/UIView+WebCacheOperation.m"; sourceTree = "<group>"; };
ABBE71A518C43B4D00B75E91 /* UIImageView+HighlightedWebCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIImageView+HighlightedWebCache.h"; path = "SDWebImage/Core/UIImageView+HighlightedWebCache.h"; sourceTree = "<group>"; };
ABBE71A618C43B4D00B75E91 /* UIImageView+HighlightedWebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+HighlightedWebCache.m"; path = "SDWebImage/Core/UIImageView+HighlightedWebCache.m"; sourceTree = "<group>"; };
2018-09-23 19:34:27 +08:00
EA9E0C6B2195936400AFB434 /* Module-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Module-Release.xcconfig"; sourceTree = "<group>"; };
EA9E0C6E2195936400AFB434 /* Module-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Module-Debug.xcconfig"; sourceTree = "<group>"; };
EA9E0C702195936400AFB434 /* Module-Shared.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Module-Shared.xcconfig"; sourceTree = "<group>"; };
2011-12-05 09:48:58 +08:00
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
2018-09-07 21:54:18 +08:00
4A2CADFB1AB4BB5300B6BC39 /* Frameworks */ = {
2016-06-13 04:23:53 +08:00
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
2018-09-07 21:54:18 +08:00
53761311155AD0D5005750A4 /* Frameworks */ = {
2015-03-15 03:06:39 +08:00
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
2018-09-07 21:54:18 +08:00
53761312155AD0D5005750A4 /* UIKit.framework in Frameworks */,
53761313155AD0D5005750A4 /* Foundation.framework in Frameworks */,
53761314155AD0D5005750A4 /* CoreGraphics.framework in Frameworks */,
2015-03-15 03:06:39 +08:00
);
runOnlyForDeploymentPostprocessing = 0;
};
2018-09-07 21:54:18 +08:00
80B6DFB72142B71600BCB334 /* Frameworks */ = {
2012-05-10 06:30:48 +08:00
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
2018-09-07 21:54:18 +08:00
806BE07C2142C4A200E02143 /* SDWebImage.framework in Frameworks */,
2012-05-10 06:30:48 +08:00
);
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 */,
2019-09-19 16:24:42 +08:00
32A09E3D233358B700339F9D /* SDImageIOAnimatedCoder.h */,
32A09E3E233358B700339F9D /* SDImageIOAnimatedCoder.m */,
2018-04-26 22:51:50 +08:00
321E60A01F38E8F600405457 /* SDImageGIFCoder.h */,
321E60A11F38E8F600405457 /* SDImageGIFCoder.m */,
327054D2206CD8B3006EA328 /* SDImageAPNGCoder.h */,
327054D3206CD8B3006EA328 /* SDImageAPNGCoder.m */,
2019-09-22 14:29:54 +08:00
3298655A2337230C0071958B /* SDImageHEICCoder.h */,
3298655B2337230C0071958B /* SDImageHEICCoder.m */,
2018-04-26 22:13:28 +08:00
3290FA021FA478AF0047D20C /* SDImageFrame.h */,
3290FA031FA478AF0047D20C /* SDImageFrame.m */,
32CF1C051FA496B000004BD1 /* SDImageCoderHelper.h */,
32CF1C061FA496B000004BD1 /* SDImageCoderHelper.m */,
2018-10-31 15:13:31 +08:00
3257EAF721898AED0097B271 /* SDImageGraphics.h */,
3257EAF821898AED0097B271 /* SDImageGraphics.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>";
};
2019-10-17 00:56:32 +08:00
32484756201775CE00AF9E5A /* AnimatedImage */ = {
2017-12-21 11:43:46 +08:00
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 */,
2019-11-03 22:40:56 +08:00
326E2F2C236F0B23006F847F /* SDAnimatedImagePlayer.h */,
326E2F2D236F0B23006F847F /* SDAnimatedImagePlayer.m */,
2017-12-21 11:43:46 +08:00
);
2019-10-17 00:56:32 +08:00
name = AnimatedImage;
2017-12-21 11:43:46 +08:00
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 */,
2019-05-23 21:36:19 +08:00
324406292296C5F400A36084 /* SDWebImageOptionsProcessor.h */,
3244062A2296C5F400A36084 /* SDWebImageOptionsProcessor.m */,
2018-04-14 18:18:45 +08:00
);
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>";
};
2019-03-06 13:05:22 +08:00
32B5CC5D222F89C2005EB74E /* Private */ = {
isa = PBXGroup;
children = (
32B5CC5E222F89C2005EB74E /* SDAsyncBlockOperation.h */,
32B5CC5F222F89C2005EB74E /* SDAsyncBlockOperation.m */,
2019-12-03 21:20:20 +08:00
3240BB6623968FE6003BA07D /* SDAssociatedObject.h */,
3240BB6723968FE6003BA07D /* SDAssociatedObject.m */,
2019-03-09 15:19:25 +08:00
325C460622339426004CAE11 /* SDWeakProxy.h */,
325C460722339426004CAE11 /* SDWeakProxy.m */,
2019-10-17 00:56:32 +08:00
32E6730F235765B500DB4987 /* SDDisplayLink.h */,
32E67310235765B500DB4987 /* SDDisplayLink.m */,
2019-11-03 22:40:56 +08:00
326E2F31236F1D58006F847F /* SDDeviceHelper.h */,
326E2F32236F1D58006F847F /* SDDeviceHelper.m */,
2019-03-09 15:19:25 +08:00
325C460022339330004CAE11 /* SDImageAssetManager.h */,
325C460122339330004CAE11 /* SDImageAssetManager.m */,
325C460C223394D8004CAE11 /* SDImageCachesManagerOperation.h */,
325C460D223394D8004CAE11 /* SDImageCachesManagerOperation.m */,
2019-09-19 16:24:42 +08:00
32C78E39233371AD00C6B7F8 /* SDImageIOAnimatedCoderInternal.h */,
2019-09-22 14:29:54 +08:00
32986560233737C70071958B /* SDImageHEICCoderInternal.h */,
2019-03-09 15:19:25 +08:00
325C461E2233A02E004CAE11 /* UIColor+HexString.h */,
325C461F2233A02E004CAE11 /* UIColor+HexString.m */,
325C46242233A0A8004CAE11 /* NSBezierPath+RoundedCorners.h */,
325C46252233A0A8004CAE11 /* NSBezierPath+RoundedCorners.m */,
2019-11-25 21:53:12 +08:00
325F7CC423893B2E00AEDFCC /* SDFileAttributeHelper.h */,
325F7CC523893B2E00AEDFCC /* SDFileAttributeHelper.m */,
2019-03-18 18:46:42 +08:00
329F123F223FAD3400B309FD /* SDInternalMacros.h */,
329F123E223FAD3400B309FD /* SDInternalMacros.m */,
2019-03-21 19:37:18 +08:00
329F1235223FAA3B00B309FD /* SDmetamacros.h */,
2019-03-06 13:05:22 +08:00
);
path = Private;
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 */,
2018-09-07 21:54:18 +08:00
806BE07D2142C65200E02143 /* SDWebImageMapKit.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 */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
2011-12-05 09:48:58 +08:00
53922D64148C55810056699D = {
isa = PBXGroup;
children = (
2018-09-23 19:34:27 +08:00
EA9E0C6A2195936400AFB434 /* Configs */,
2011-12-05 09:48:58 +08:00
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 = (
2018-09-23 19:34:27 +08:00
53761325155AD0D5005750A4 /* libSDWebImage.a */,
2016-05-09 03:59:32 +08:00
4A2CADFF1AB4BB5300B6BC39 /* SDWebImage.framework */,
2018-09-07 21:54:18 +08:00
80B6DFEE2142B71600BCB334 /* SDWebImageMapKit.framework */,
2011-12-05 09:48:58 +08:00
);
name = Products;
sourceTree = "<group>";
};
53922D71148C55820056699D /* Frameworks */ = {
isa = PBXGroup;
children = (
2018-09-07 21:54:18 +08:00
80B6DFF12142B77E00BCB334 /* MapKit.framework */,
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 */,
2019-10-17 00:56:32 +08:00
32484756201775CE00AF9E5A /* AnimatedImage */,
2011-12-05 09:48:58 +08:00
53922DAC148C56DD0056699D /* Utils */,
53922DA9148C562D0056699D /* Categories */,
2016-09-26 00:29:14 +08:00
4369C2851D9811BB007E863A /* WebCache Categories */,
2019-03-06 13:05:22 +08:00
32B5CC5D222F89C2005EB74E /* Private */,
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 */,
2019-11-25 15:43:31 +08:00
325F7CC8238942AB00AEDFCC /* UIImage+ExtendedCacheData.h */,
325F7CC9238942AB00AEDFCC /* UIImage+ExtendedCacheData.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 */,
2019-01-03 14:54:37 +08:00
32D3CDCD21DDE87300C4DB49 /* UIImage+MemoryCacheCost.h */,
32D3CDCC21DDE87300C4DB49 /* UIImage+MemoryCacheCost.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 */,
2019-10-15 14:36:41 +08:00
32542761235576E20042BAA4 /* SDWebImageDownloaderResponseModifier.h */,
32542762235576E20042BAA4 /* SDWebImageDownloaderResponseModifier.m */,
2019-10-15 20:10:00 +08:00
3250C9EC2355D9DA0093A896 /* SDWebImageDownloaderDecryptor.h */,
3250C9ED2355D9DA0093A896 /* SDWebImageDownloaderDecryptor.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>";
};
2018-09-23 19:34:27 +08:00
EA9E0C6A2195936400AFB434 /* Configs */ = {
isa = PBXGroup;
children = (
EA9E0C6E2195936400AFB434 /* Module-Debug.xcconfig */,
EA9E0C6B2195936400AFB434 /* Module-Release.xcconfig */,
EA9E0C702195936400AFB434 /* Module-Shared.xcconfig */,
);
path = Configs;
sourceTree = "<group>";
};
2011-12-05 09:48:58 +08:00
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
2015-03-15 03:06:39 +08:00
4A2CADFC1AB4BB5300B6BC39 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
2019-03-06 13:05:22 +08:00
32B5CC60222F89C2005EB74E /* SDAsyncBlockOperation.h in Headers */,
2019-09-22 14:29:54 +08:00
32986562233737C70071958B /* SDImageHEICCoderInternal.h in Headers */,
2018-04-18 19:16:45 +08:00
32D122202080B2EB003685A3 /* SDImageCacheDefine.h in Headers */,
2019-09-22 14:29:54 +08:00
3298655C2337230C0071958B /* SDImageHEICCoder.h in Headers */,
2018-03-31 05:34:10 +08:00
32B9B539206ED4230026769D /* SDWebImageDownloaderConfig.h in Headers */,
2018-10-31 15:13:31 +08:00
3257EAFA21898AED0097B271 /* SDImageGraphics.h in Headers */,
2019-01-03 14:54:37 +08:00
32D3CDD121DDE87300C4DB49 /* UIImage+MemoryCacheCost.h in Headers */,
2018-04-14 18:18:45 +08:00
328BB6AC2081FEE500760D6C /* SDWebImageCacheSerializer.h in Headers */,
2019-11-25 15:43:31 +08:00
325F7CCA238942AB00AEDFCC /* UIImage+ExtendedCacheData.h in Headers */,
2019-03-09 15:19:25 +08:00
325C46272233A0A8004CAE11 /* NSBezierPath+RoundedCorners.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 */,
2019-03-09 15:19:25 +08:00
325C460322339330004CAE11 /* SDImageAssetManager.h in Headers */,
2019-09-19 16:24:42 +08:00
32C78E3B233371AD00C6B7F8 /* SDImageIOAnimatedCoderInternal.h in Headers */,
2018-04-26 22:51:50 +08:00
327054D6206CD8B3006EA328 /* SDImageAPNGCoder.h in Headers */,
2018-09-07 21:54:18 +08:00
80B6DF842142B44600BCB334 /* NSButton+WebCache.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 */,
2019-11-03 22:40:56 +08:00
326E2F33236F1D58006F847F /* SDDeviceHelper.h in Headers */,
2019-03-21 19:37:18 +08:00
329F1237223FAA3B00B309FD /* SDmetamacros.h in Headers */,
2018-01-13 18:42:15 +08:00
324DF4B6200A14DC008A84CC /* SDWebImageDefine.h in Headers */,
2019-09-19 16:24:42 +08:00
32A09E3F233358B700339F9D /* SDImageIOAnimatedCoder.h in Headers */,
2019-11-03 22:40:56 +08:00
326E2F2E236F0B23006F847F /* SDAnimatedImagePlayer.h in Headers */,
2018-04-26 22:51:50 +08:00
807A122A1F89636300EC2A9B /* SDImageCodersManager.h in Headers */,
2019-05-23 21:36:19 +08:00
3244062C2296C5F400A36084 /* SDWebImageOptionsProcessor.h in Headers */,
2019-12-03 21:20:20 +08:00
3240BB6823968FE7003BA07D /* SDAssociatedObject.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 */,
4A2CAE331AB4BB7500B6BC39 /* UIImageView+HighlightedWebCache.h in Headers */,
2018-04-15 00:05:09 +08:00
328BB6C32082581100760D6C /* SDDiskCache.h in Headers */,
2019-10-15 14:36:41 +08:00
32542763235576E20042BAA4 /* SDWebImageDownloaderResponseModifier.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 */,
2019-03-09 15:19:25 +08:00
325C460F223394D8004CAE11 /* SDImageCachesManagerOperation.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 */,
2019-03-09 15:19:25 +08:00
325C460922339426004CAE11 /* SDWeakProxy.h in Headers */,
2018-09-07 21:54:18 +08:00
80B6DF812142B43B00BCB334 /* SDAnimatedImageRep.h in Headers */,
2015-03-15 03:06:39 +08:00
4A2CAE2F1AB4BB7500B6BC39 /* UIImage+MultiFormat.h in Headers */,
2019-03-09 15:19:25 +08:00
325C46212233A02E004CAE11 /* UIColor+HexString.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 */,
2019-10-15 20:10:00 +08:00
3250C9EE2355D9DA0093A896 /* SDWebImageDownloaderDecryptor.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 */,
2019-03-18 18:46:42 +08:00
329F1243223FAD3400B309FD /* SDInternalMacros.h in Headers */,
2018-09-07 21:54:18 +08:00
80B6DF7F2142B43300BCB334 /* NSImage+Compatibility.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 */,
2019-10-17 00:56:32 +08:00
32E67311235765B500DB4987 /* SDDisplayLink.h in Headers */,
2019-11-25 21:53:12 +08:00
325F7CC623893B2E00AEDFCC /* SDFileAttributeHelper.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;
};
2018-09-07 21:54:18 +08:00
80B6DFB82142B71600BCB334 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
806BE07E2142C65200E02143 /* SDWebImageMapKit.h in Headers */,
80B6DFCD2142B71600BCB334 /* MKAnnotationView+WebCache.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
2011-12-05 09:48:58 +08:00
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
2018-09-07 21:54:18 +08:00
4A2CADFE1AB4BB5300B6BC39 /* SDWebImage */ = {
2015-10-07 06:58:23 +08:00
isa = PBXNativeTarget;
2018-09-07 21:54:18 +08:00
buildConfigurationList = 4A2CAE121AB4BB5400B6BC39 /* Build configuration list for PBXNativeTarget "SDWebImage" */;
2015-03-15 03:06:39 +08:00
buildPhases = (
4A2CADFA1AB4BB5300B6BC39 /* Sources */,
4A2CADFB1AB4BB5300B6BC39 /* Frameworks */,
4A2CADFC1AB4BB5300B6BC39 /* Headers */,
4A2CADFD1AB4BB5300B6BC39 /* Resources */,
);
buildRules = (
);
dependencies = (
);
2018-09-07 21:54:18 +08:00
name = SDWebImage;
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";
};
2018-09-07 21:54:18 +08:00
53761307155AD0D5005750A4 /* SDWebImage static */ = {
2012-05-10 06:30:48 +08:00
isa = PBXNativeTarget;
2018-09-07 21:54:18 +08:00
buildConfigurationList = 53761322155AD0D5005750A4 /* Build configuration list for PBXNativeTarget "SDWebImage static" */;
2012-05-10 06:30:48 +08:00
buildPhases = (
53761308155AD0D5005750A4 /* Sources */,
53761311155AD0D5005750A4 /* Frameworks */,
2019-06-03 15:21:26 +08:00
326C15A122A4E8AD0001F663 /* Copy Headers */,
2012-05-10 06:30:48 +08:00
);
buildRules = (
);
dependencies = (
);
2018-09-07 21:54:18 +08:00
name = "SDWebImage static";
2011-12-05 09:48:58 +08:00
productName = SDWebImage;
2018-09-23 19:34:27 +08:00
productReference = 53761325155AD0D5005750A4 /* libSDWebImage.a */;
2011-12-05 09:48:58 +08:00
productType = "com.apple.product-type.library.static";
};
2018-09-07 21:54:18 +08:00
80B6DF862142B71600BCB334 /* SDWebImageMapKit */ = {
isa = PBXNativeTarget;
buildConfigurationList = 80B6DFEB2142B71600BCB334 /* Build configuration list for PBXNativeTarget "SDWebImageMapKit" */;
buildPhases = (
80B6DF872142B71600BCB334 /* Sources */,
80B6DFB72142B71600BCB334 /* Frameworks */,
80B6DFB82142B71600BCB334 /* Headers */,
80B6DFEA2142B71600BCB334 /* Resources */,
);
buildRules = (
);
dependencies = (
806BE0802142C6C400E02143 /* PBXTargetDependency */,
);
name = SDWebImageMapKit;
productName = WebImage;
productReference = 80B6DFEE2142B71600BCB334 /* SDWebImageMapKit.framework */;
productType = "com.apple.product-type.framework";
};
2011-12-05 09:48:58 +08:00
/* 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 = {
2019-06-19 16:42:56 +08:00
326CA50C22BA14EF0033A92F = {
CreatedOnToolsVersion = 11.0;
ProvisioningStyle = Automatic;
};
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";
2019-03-26 18:03:14 +08:00
developmentRegion = en;
2011-12-05 09:48:58 +08:00
hasScannedForEncodings = 0;
knownRegions = (
en,
2019-03-26 18:03:14 +08:00
Base,
2011-12-05 09:48:58 +08:00
);
mainGroup = 53922D64148C55810056699D;
productRefGroup = 53922D70148C55820056699D /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
2018-09-07 21:54:18 +08:00
53761307155AD0D5005750A4 /* SDWebImage static */,
4A2CADFE1AB4BB5300B6BC39 /* SDWebImage */,
80B6DF862142B71600BCB334 /* SDWebImageMapKit */,
2019-06-19 16:42:56 +08:00
326CA50C22BA14EF0033A92F /* SDWebImage XCFramework */,
2011-12-05 09:48:58 +08:00
);
};
/* End PBXProject section */
2015-03-15 03:06:39 +08:00
/* Begin PBXResourcesBuildPhase section */
2018-09-07 21:54:18 +08:00
4A2CADFD1AB4BB5300B6BC39 /* Resources */ = {
2016-06-13 04:23:53 +08:00
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
2018-09-07 21:54:18 +08:00
80B6DFEA2142B71600BCB334 /* Resources */ = {
2015-03-15 03:06:39 +08:00
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
2019-06-19 16:42:56 +08:00
/* Begin PBXShellScriptBuildPhase section */
326CA51322BA1A270033A92F /* Build Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Build Frameworks";
outputFileListPaths = (
);
outputPaths = (
2019-06-26 16:38:36 +08:00
"$(SRCROOT)/build/iphoneos/SDWebImage.framework",
"$(SRCROOT)/build/iphonesimulator/SDWebImage.framework",
"$(SRCROOT)/build/macosx/SDWebImage.framework",
"$(SRCROOT)/build/appletvos/SDWebImage.framework",
"$(SRCROOT)/build/appletvsimulator/SDWebImage.framework",
"$(SRCROOT)/build/watchos/SDWebImage.framework",
"$(SRCROOT)/build/watchsimulator/SDWebImage.framework",
2019-08-15 17:32:27 +08:00
"$(SRCROOT)/build/maccatalyst/SDWebImage.framework",
2019-06-19 16:42:56 +08:00
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
2019-08-16 19:32:21 +08:00
shellScript = "XCODE_VERSION=$(xcodebuild -version | head -n 1| awk -F ' ' '{print $2}')\nXCODE_VERSION_MAJOR=$(echo $XCODE_VERSION | awk -F '.' '{print $1}')\n\nmkdir -p $(SRCROOT)/build\ndeclare -a PLATFORMS=(\"iphoneos\" \"iphonesimulator\" \"macosx\" \"appletvos\" \"appletvsimulator\" \"watchos\" \"watchsimulator\" \"maccatalyst\")\nfor CURRENT_PLATFORM in \"${PLATFORMS[@]}\"\ndo\n if [[ $CURRENT_PLATFORM == *\"simulator\" ]]; then\n xcodebuild build -project \"SDWebImage.xcodeproj\" -sdk \"${CURRENT_PLATFORM}\" -scheme \"SDWebImage\" -configuration \"Debug\" -derivedDataPath \"${SRCROOT}/build/DerivedData\" CONFIGURATION_BUILD_DIR=\"${SRCROOT}/build/${CURRENT_PLATFORM}/\"\n else\n # macOS Catalyst\n if [[ $CURRENT_PLATFORM == \"maccatalyst\" ]]; then\n if [[ $XCODE_VERSION_MAJOR -lt 11 ]]; then\n # Xcode 10 does not support macOS Catalyst\n continue\n else\n xcodebuild archive -project \"SDWebImage.xcodeproj\" -scheme \"SDWebImage\" -configuration \"Release\" -destination 'platform=macOS,arch=x86_64,variant=Mac Catalyst' -archivePath \"${SRCROOT}/build/${CURRENT_PLATFORM}/SDWebImage.xcarchive\" -derivedDataPath \"${SRCROOT}/build/DerivedData\" SKIP_INSTALL=NO\n fi\n else\n xcodebuild archive -project \"SDWebImage.xcodeproj\" -sdk \"${CURRENT_PLATFORM}\" -scheme \"SDWebImage\" -configuration \"Release\" -archivePath \"${SRCROOT}/build/${CURRENT_PLATFORM}/SDWebImage.xcarchive\" SKIP_INSTALL=NO\n fi\n mv \"${SRCROOT}/build/${CURRENT_PLATFORM}/SDWebImage.xcarchive/Products/Library/Frameworks/SDWebImage.framework\" \"${SRCROOT}/build/${CURRENT_PLATFORM}/\"\n mv \"${SRCROOT}/build/${CURRENT_PLATFORM}/SDWebImage.xcarchive/dSYMs/SDWebImage.framework.dSYM\" \"${SRCROOT}/build/${CURRENT_PLATFORM}/\"\n rm -rf \"${SRCROOT}/build/${CURRENT_PLATFORM}/SDWebImage.xcarchive/\"\n fi\ndone\n";
2019-06-19 16:42:56 +08:00
};
326CA51422BA25F70033A92F /* Create XCFramework */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
2019-06-26 16:38:36 +08:00
"$(SRCROOT)/build/iphoneos/SDWebImage.framework",
"$(SRCROOT)/build/iphonesimulator/SDWebImage.framework",
"$(SRCROOT)/build/macosx/SDWebImage.framework",
"$(SRCROOT)/build/appletvos/SDWebImage.framework",
"$(SRCROOT)/build/appletvsimulator/SDWebImage.framework",
"$(SRCROOT)/build/watchos/SDWebImage.framework",
"$(SRCROOT)/build/watchsimulator/SDWebImage.framework",
2019-08-15 17:32:27 +08:00
"$(SRCROOT)/build/maccatalyst/SDWebImage.framework",
2019-06-19 16:42:56 +08:00
);
name = "Create XCFramework";
outputFileListPaths = (
);
outputPaths = (
"$(SRCROOT)/build/SDWebImage.xcframework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
2019-08-16 19:32:21 +08:00
shellScript = "XCODE_VERSION=$(xcodebuild -version | head -n 1| awk -F ' ' '{print $2}')\nXCODE_VERSION_MAJOR=$(echo $XCODE_VERSION | awk -F '.' '{print $1}')\n\nif [ $XCODE_VERSION_MAJOR -lt 11 ]\nthen\n echo \"Xcode 10 does not support xcframework. You can still use the individual framework for each platform.\"\n open -a Finder \"${SRCROOT}/build/\"\n exit 0\nfi\n\ndeclare -a PLATFORMS=(\"iphoneos\" \"iphonesimulator\" \"macosx\" \"appletvos\" \"appletvsimulator\" \"watchos\" \"watchsimulator\" \"maccatalyst\")\nCOMMAND_ARGS=\"\"\nfor CURRENT_PLATFORM in \"${PLATFORMS[@]}\"\ndo\n COMMAND_ARGS=\"${COMMAND_ARGS} -framework ${SRCROOT}/build/${CURRENT_PLATFORM}/SDWebImage.framework\"\ndone\n\n# Combine XCFramework\nxcodebuild -create-xcframework $COMMAND_ARGS -output \"${SRCROOT}/build/SDWebImage.xcframework\"\nopen -a Finder \"${SRCROOT}/build/SDWebImage.xcframework\"\n";
2019-06-19 16:42:56 +08:00
};
/* End PBXShellScriptBuildPhase section */
2011-12-05 09:48:58 +08:00
/* Begin PBXSourcesBuildPhase section */
2015-03-15 03:06:39 +08:00
4A2CADFA1AB4BB5300B6BC39 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2018-10-31 15:13:31 +08:00
3257EAFD21898AED0097B271 /* SDImageGraphics.m in Sources */,
2018-04-26 22:13:28 +08:00
3290FA0C1FA478AF0047D20C /* SDImageFrame.m in Sources */,
2019-03-09 15:19:25 +08:00
325C46232233A02E004CAE11 /* UIColor+HexString.m in Sources */,
2019-11-25 15:43:31 +08:00
325F7CCB238942AB00AEDFCC /* UIImage+ExtendedCacheData.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 */,
2019-05-23 21:36:19 +08:00
3244062E2296C5F400A36084 /* SDWebImageOptionsProcessor.m in Sources */,
2019-10-15 20:10:00 +08:00
3250C9F02355D9DA0093A896 /* SDWebImageDownloaderDecryptor.m in Sources */,
2018-04-14 18:18:45 +08:00
328BB6A42081FED200760D6C /* SDWebImageCacheKeyFilter.m in Sources */,
2019-10-17 00:56:32 +08:00
32E67313235765B500DB4987 /* SDDisplayLink.m in Sources */,
2015-03-15 03:06:39 +08:00
4A2CAE2E1AB4BB7500B6BC39 /* UIImage+GIF.m in Sources */,
2019-11-03 22:40:56 +08:00
326E2F35236F1D58006F847F /* SDDeviceHelper.m in Sources */,
2019-12-03 21:20:20 +08:00
3240BB6A23968FE7003BA07D /* SDAssociatedObject.m in Sources */,
2018-09-07 21:54:18 +08:00
80B6DF822142B44400BCB334 /* NSButton+WebCache.m in Sources */,
2019-01-03 14:54:37 +08:00
32D3CDCF21DDE87300C4DB49 /* UIImage+MemoryCacheCost.m in Sources */,
2019-03-18 18:46:42 +08:00
329F1241223FAD3400B309FD /* SDInternalMacros.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 */,
2019-03-06 13:05:22 +08:00
32B5CC61222F89C2005EB74E /* SDAsyncBlockOperation.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 */,
2019-09-22 14:29:54 +08:00
3298655E2337230C0071958B /* SDImageHEICCoder.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 */,
2019-10-15 14:36:41 +08:00
32542765235576E20042BAA4 /* SDWebImageDownloaderResponseModifier.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 */,
2019-11-25 21:53:12 +08:00
325F7CC723893B2E00AEDFCC /* SDFileAttributeHelper.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 */,
2019-09-19 16:24:42 +08:00
32A09E42233358B700339F9D /* SDImageIOAnimatedCoder.m in Sources */,
2019-03-09 15:19:25 +08:00
325C46292233A0A8004CAE11 /* NSBezierPath+RoundedCorners.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 */,
2019-11-03 22:40:56 +08:00
326E2F30236F0B23006F847F /* SDAnimatedImagePlayer.m in Sources */,
2015-03-15 03:06:39 +08:00
4A2CAE2A1AB4BB7500B6BC39 /* NSData+ImageContentType.m in Sources */,
4A2CAE221AB4BB7000B6BC39 /* SDWebImageManager.m in Sources */,
4A2CAE191AB4BB6400B6BC39 /* SDWebImageCompat.m in Sources */,
2019-03-09 15:19:25 +08:00
325C460B22339426004CAE11 /* SDWeakProxy.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 */,
2019-03-09 15:19:25 +08:00
325C460522339330004CAE11 /* SDImageAssetManager.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 */,
2019-03-09 15:19:25 +08:00
325C4611223394D8004CAE11 /* SDImageCachesManagerOperation.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-10-31 15:13:31 +08:00
3257EAFC21898AED0097B271 /* SDImageGraphics.m in Sources */,
2018-04-26 22:13:28 +08:00
3290FA0A1FA478AF0047D20C /* SDImageFrame.m in Sources */,
2019-03-09 15:19:25 +08:00
325C46222233A02E004CAE11 /* UIColor+HexString.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 */,
2019-05-23 21:36:19 +08:00
3244062D2296C5F400A36084 /* SDWebImageOptionsProcessor.m in Sources */,
2019-10-15 20:10:00 +08:00
3250C9EF2355D9DA0093A896 /* SDWebImageDownloaderDecryptor.m in Sources */,
2019-12-03 20:42:46 +08:00
3240BB6523968FA1003BA07D /* SDFileAttributeHelper.m in Sources */,
2018-04-14 18:18:45 +08:00
328BB6A22081FED200760D6C /* SDWebImageCacheKeyFilter.m in Sources */,
2019-10-17 00:56:32 +08:00
32E67312235765B500DB4987 /* SDDisplayLink.m in Sources */,
2012-05-10 06:30:48 +08:00
53761309155AD0D5005750A4 /* SDImageCache.m in Sources */,
2019-11-03 22:40:56 +08:00
326E2F34236F1D58006F847F /* SDDeviceHelper.m in Sources */,
2019-12-03 21:20:20 +08:00
3240BB6923968FE7003BA07D /* SDAssociatedObject.m in Sources */,
2018-09-07 21:54:18 +08:00
80B6DF832142B44500BCB334 /* NSButton+WebCache.m in Sources */,
2019-01-03 14:54:37 +08:00
32D3CDCE21DDE87300C4DB49 /* UIImage+MemoryCacheCost.m in Sources */,
2019-03-18 18:46:42 +08:00
329F1240223FAD3400B309FD /* SDInternalMacros.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 */,
2019-03-06 13:05:22 +08:00
32B5CC63222F8B70005EB74E /* SDAsyncBlockOperation.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 */,
2019-09-22 14:29:54 +08:00
3298655D2337230C0071958B /* SDImageHEICCoder.m in Sources */,
2018-04-26 22:51:50 +08:00
321E609A1F38E8ED00405457 /* SDImageIOCoder.m in Sources */,
327054DA206CD8B3006EA328 /* SDImageAPNGCoder.m in Sources */,
2019-10-15 14:36:41 +08:00
32542764235576E20042BAA4 /* SDWebImageDownloaderResponseModifier.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 */,
2019-11-25 15:43:31 +08:00
325F7CCC2389463D00AEDFCC /* UIImage+ExtendedCacheData.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 */,
2019-09-19 16:24:42 +08:00
32A09E41233358B700339F9D /* SDImageIOAnimatedCoder.m in Sources */,
2019-03-09 15:19:25 +08:00
325C46282233A0A8004CAE11 /* NSBezierPath+RoundedCorners.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 */,
2019-11-03 22:40:56 +08:00
326E2F2F236F0B23006F847F /* SDAnimatedImagePlayer.m in Sources */,
2012-11-04 16:50:23 +08:00
530E49EC16464C84002868E7 /* SDWebImageDownloaderOperation.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 */,
2019-03-09 15:19:25 +08:00
325C460A22339426004CAE11 /* SDWeakProxy.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 */,
2019-03-09 15:19:25 +08:00
325C460422339330004CAE11 /* SDImageAssetManager.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 */,
2019-03-09 15:19:25 +08:00
325C4610223394D8004CAE11 /* SDImageCachesManagerOperation.m in Sources */,
2011-12-05 09:48:58 +08:00
);
runOnlyForDeploymentPostprocessing = 0;
};
2018-09-07 21:54:18 +08:00
80B6DF872142B71600BCB334 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
80B6DFA72142B71600BCB334 /* MKAnnotationView+WebCache.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
2011-12-05 09:48:58 +08:00
/* End PBXSourcesBuildPhase section */
2018-09-07 21:54:18 +08:00
/* Begin PBXTargetDependency section */
806BE0802142C6C400E02143 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 4A2CADFE1AB4BB5300B6BC39 /* SDWebImage */;
targetProxy = 806BE07F2142C6C400E02143 /* PBXContainerItemProxy */;
2016-06-13 04:23:53 +08:00
};
2018-09-07 21:54:18 +08:00
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
2019-06-19 16:42:56 +08:00
326CA50D22BA14EF0033A92F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
326CA50E22BA14EF0033A92F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
PRODUCT_NAME = "$(TARGET_NAME)";
};
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;
2015-03-15 03:06:39 +08:00
INFOPLIST_FILE = WebImage/Info.plist;
};
name = Debug;
};
4A2CAE141AB4BB5400B6BC39 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
2015-03-21 06:37:55 +08:00
APPLICATION_EXTENSION_API_ONLY = YES;
2015-03-15 03:06:39 +08:00
INFOPLIST_FILE = WebImage/Info.plist;
};
name = Release;
};
2012-05-10 06:30:48 +08:00
53761323155AD0D5005750A4 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
2018-09-23 19:34:27 +08:00
PRODUCT_NAME = SDWebImage;
2012-05-10 06:30:48 +08:00
};
name = Debug;
};
53761324155AD0D5005750A4 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
2018-09-23 19:34:27 +08:00
PRODUCT_NAME = SDWebImage;
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;
2018-09-23 19:34:27 +08:00
baseConfigurationReference = EA9E0C6E2195936400AFB434 /* Module-Debug.xcconfig */;
2013-09-21 01:53:11 +08:00
buildSettings = {
2011-12-05 09:48:58 +08:00
};
name = Debug;
};
53922D7B148C55820056699D /* Release */ = {
isa = XCBuildConfiguration;
2018-09-23 19:34:27 +08:00
baseConfigurationReference = EA9E0C6B2195936400AFB434 /* Module-Release.xcconfig */;
2011-12-05 09:48:58 +08:00
buildSettings = {
2018-09-07 21:54:18 +08:00
};
name = Release;
};
80B6DFEC2142B71600BCB334 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
INFOPLIST_FILE = WebImage/Info.plist;
SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvsimulator appletvos";
TARGETED_DEVICE_FAMILY = "1,2,3";
TVOS_DEPLOYMENT_TARGET = 9.2;
};
name = Debug;
};
80B6DFED2142B71600BCB334 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
INFOPLIST_FILE = WebImage/Info.plist;
SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvsimulator appletvos";
TARGETED_DEVICE_FAMILY = "1,2,3";
TVOS_DEPLOYMENT_TARGET = 9.2;
2011-12-05 09:48:58 +08:00
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
2019-06-19 16:42:56 +08:00
326CA50F22BA14EF0033A92F /* Build configuration list for PBXAggregateTarget "SDWebImage XCFramework" */ = {
isa = XCConfigurationList;
buildConfigurations = (
326CA50D22BA14EF0033A92F /* Debug */,
326CA50E22BA14EF0033A92F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
2018-09-07 21:54:18 +08:00
4A2CAE121AB4BB5400B6BC39 /* Build configuration list for PBXNativeTarget "SDWebImage" */ = {
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
};
2018-09-07 21:54:18 +08:00
53761322155AD0D5005750A4 /* Build configuration list for PBXNativeTarget "SDWebImage 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;
};
2018-09-07 21:54:18 +08:00
80B6DFEB2142B71600BCB334 /* Build configuration list for PBXNativeTarget "SDWebImageMapKit" */ = {
isa = XCConfigurationList;
buildConfigurations = (
80B6DFEC2142B71600BCB334 /* Debug */,
80B6DFED2142B71600BCB334 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
2011-12-05 09:48:58 +08:00
/* End XCConfigurationList section */
};
rootObject = 53922D66148C55810056699D /* Project object */;
}