Commit ca5150a01ffcf8352d8c4b68a87d15b55f41eff4
1 parent
32c18d0c
3.1.1
Showing
27 changed files
with
1651 additions
and
1297 deletions
Too many changes to show.
To preserve performance only 27 of 84 files are displayed.
Example/Podfile
| 1 | 1 | use_frameworks! |
| 2 | 2 | inhibit_all_warnings! |
| 3 | 3 | |
| 4 | -platform :ios, '8.0' | |
| 4 | +platform :ios, '9.0' | |
| 5 | 5 | |
| 6 | 6 | target 'YBImageBrowser_DSCnliveShop_Example' do |
| 7 | 7 | pod 'YBImageBrowser_DSCnliveShop', :path => '../' |
| ... | ... | @@ -9,8 +9,8 @@ target 'YBImageBrowser_DSCnliveShop_Example' do |
| 9 | 9 | target 'YBImageBrowser_DSCnliveShop_Tests' do |
| 10 | 10 | inherit! :search_paths |
| 11 | 11 | |
| 12 | - pod 'SDWebImage', '~> 5.2.3' | |
| 13 | - pod 'YYKit', '1.0.9' | |
| 12 | + pod 'SDWebImage' | |
| 13 | + pod 'YYKit' | |
| 14 | 14 | |
| 15 | 15 | end |
| 16 | 16 | end | ... | ... |
Example/Podfile.lock
| 1 | 1 | PODS: |
| 2 | - - SDWebImage (5.2.5): | |
| 3 | - - SDWebImage/Core (= 5.2.5) | |
| 4 | - - SDWebImage/Core (5.2.5) | |
| 5 | - - YBImageBrowser_DSCnliveShop (3.0.9): | |
| 6 | - - SDWebImage (~> 5.2.3) | |
| 7 | - - YYKit (= 1.0.9) | |
| 2 | + - SDWebImage (5.8.4): | |
| 3 | + - SDWebImage/Core (= 5.8.4) | |
| 4 | + - SDWebImage/Core (5.8.4) | |
| 5 | + - YBImageBrowser_DSCnliveShop (3.1.0): | |
| 6 | + - SDWebImage | |
| 7 | + - YYKit | |
| 8 | 8 | - YYKit (1.0.9): |
| 9 | 9 | - YYKit/no-arc (= 1.0.9) |
| 10 | 10 | - YYKit/no-arc (1.0.9) |
| 11 | 11 | |
| 12 | 12 | DEPENDENCIES: |
| 13 | - - SDWebImage (~> 5.2.3) | |
| 13 | + - SDWebImage | |
| 14 | 14 | - YBImageBrowser_DSCnliveShop (from `../`) |
| 15 | - - YYKit (= 1.0.9) | |
| 15 | + - YYKit | |
| 16 | 16 | |
| 17 | 17 | SPEC REPOS: |
| 18 | 18 | trunk: |
| ... | ... | @@ -24,10 +24,10 @@ EXTERNAL SOURCES: |
| 24 | 24 | :path: "../" |
| 25 | 25 | |
| 26 | 26 | SPEC CHECKSUMS: |
| 27 | - SDWebImage: 4eabf2fa6695c95c47724214417a9c036c965e4a | |
| 28 | - YBImageBrowser_DSCnliveShop: d0c9a392dfbe4bb714362583bb802d1773a30f7b | |
| 27 | + SDWebImage: cf6922231e95550934da2ada0f20f2becf2ceba9 | |
| 28 | + YBImageBrowser_DSCnliveShop: beca1a333282098979595a7eae0a73a4805d14a5 | |
| 29 | 29 | YYKit: 7cda43304a8dc3696c449041e2cb3107b4e236e7 |
| 30 | 30 | |
| 31 | -PODFILE CHECKSUM: aa7918fac921745501ebebac2b1a743aa1d31095 | |
| 31 | +PODFILE CHECKSUM: 1c9382532bba4c074f5c669a65132a33e0cc5171 | |
| 32 | 32 | |
| 33 | 33 | COCOAPODS: 1.9.1 | ... | ... |
Example/Pods/Local Podspecs/YBImageBrowser_DSCnliveShop.podspec.json
| 1 | 1 | { |
| 2 | 2 | "name": "YBImageBrowser_DSCnliveShop", |
| 3 | - "version": "3.0.9", | |
| 3 | + "version": "3.1.0", | |
| 4 | 4 | "summary": "YBImageBrowser改依赖为YYKit", |
| 5 | 5 | "homepage": "http://bj.gitlab.cnlive.com/DSIOSTeam", |
| 6 | 6 | "authors": { |
| ... | ... | @@ -9,7 +9,7 @@ |
| 9 | 9 | "license": "MIT", |
| 10 | 10 | "source": { |
| 11 | 11 | "git": "http://bj.gitlab.cnlive.com/DSIOSTeam/YBImageBrowser_DSCnliveShop.git", |
| 12 | - "tag": "3.0.9" | |
| 12 | + "tag": "3.1.0" | |
| 13 | 13 | }, |
| 14 | 14 | "platforms": { |
| 15 | 15 | "ios": "9.0" |
| ... | ... | @@ -21,10 +21,10 @@ |
| 21 | 21 | ], |
| 22 | 22 | "dependencies": { |
| 23 | 23 | "SDWebImage": [ |
| 24 | - "~> 5.2.3" | |
| 24 | + | |
| 25 | 25 | ], |
| 26 | 26 | "YYKit": [ |
| 27 | - "1.0.9" | |
| 27 | + | |
| 28 | 28 | ] |
| 29 | 29 | } |
| 30 | 30 | } | ... | ... |
Example/Pods/Manifest.lock
| 1 | 1 | PODS: |
| 2 | - - SDWebImage (5.2.5): | |
| 3 | - - SDWebImage/Core (= 5.2.5) | |
| 4 | - - SDWebImage/Core (5.2.5) | |
| 5 | - - YBImageBrowser_DSCnliveShop (3.0.9): | |
| 6 | - - SDWebImage (~> 5.2.3) | |
| 7 | - - YYKit (= 1.0.9) | |
| 2 | + - SDWebImage (5.8.4): | |
| 3 | + - SDWebImage/Core (= 5.8.4) | |
| 4 | + - SDWebImage/Core (5.8.4) | |
| 5 | + - YBImageBrowser_DSCnliveShop (3.1.0): | |
| 6 | + - SDWebImage | |
| 7 | + - YYKit | |
| 8 | 8 | - YYKit (1.0.9): |
| 9 | 9 | - YYKit/no-arc (= 1.0.9) |
| 10 | 10 | - YYKit/no-arc (1.0.9) |
| 11 | 11 | |
| 12 | 12 | DEPENDENCIES: |
| 13 | - - SDWebImage (~> 5.2.3) | |
| 13 | + - SDWebImage | |
| 14 | 14 | - YBImageBrowser_DSCnliveShop (from `../`) |
| 15 | - - YYKit (= 1.0.9) | |
| 15 | + - YYKit | |
| 16 | 16 | |
| 17 | 17 | SPEC REPOS: |
| 18 | 18 | trunk: |
| ... | ... | @@ -24,10 +24,10 @@ EXTERNAL SOURCES: |
| 24 | 24 | :path: "../" |
| 25 | 25 | |
| 26 | 26 | SPEC CHECKSUMS: |
| 27 | - SDWebImage: 4eabf2fa6695c95c47724214417a9c036c965e4a | |
| 28 | - YBImageBrowser_DSCnliveShop: d0c9a392dfbe4bb714362583bb802d1773a30f7b | |
| 27 | + SDWebImage: cf6922231e95550934da2ada0f20f2becf2ceba9 | |
| 28 | + YBImageBrowser_DSCnliveShop: beca1a333282098979595a7eae0a73a4805d14a5 | |
| 29 | 29 | YYKit: 7cda43304a8dc3696c449041e2cb3107b4e236e7 |
| 30 | 30 | |
| 31 | -PODFILE CHECKSUM: aa7918fac921745501ebebac2b1a743aa1d31095 | |
| 31 | +PODFILE CHECKSUM: 1c9382532bba4c074f5c669a65132a33e0cc5171 | |
| 32 | 32 | |
| 33 | 33 | COCOAPODS: 1.9.1 | ... | ... |
Example/Pods/Pods.xcodeproj/project.pbxproj
| ... | ... | @@ -8,65 +8,71 @@ |
| 8 | 8 | |
| 9 | 9 | /* Begin PBXBuildFile section */ |
| 10 | 10 | 0060D0002F5404112A217929E462A1E3 /* NSString+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = FD46990B6EBC034765E7F896D7692AF0 /* NSString+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 11 | + 010A21434427A1E7CE25060BA3A66A61 /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 618EA55D0CE2B6CFE74715E49A256295 /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 12 | + 013FB3424E97C9CBA093B58F3FF74537 /* SDImageLoadersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D239E8639A886939B6B5EB58FC27342 /* SDImageLoadersManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 11 | 13 | 0272570CDAD7111506606BBA6F85A080 /* NSDictionary+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = ACDDD031AB39EE10A73CBCA382968C97 /* NSDictionary+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 12 | 14 | 029C5740548FC68443365660D8ABA6F9 /* UIColor+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 2058F8BF3995BDEFE75215FA94771AA0 /* UIColor+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 15 | + 02A4C8ABD5DCC501DE7A6CE19B398E14 /* SDWebImageDownloaderResponseModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 968801418C5808212099C7AAECFD942F /* SDWebImageDownloaderResponseModifier.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 16 | + 02B6598C52131C10E3CA344FB49B87FA /* SDWebImageTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = 060133C4A0CD84D7E43EA5A6AE35A7BA /* SDWebImageTransition.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 13 | 17 | 02C881CC8FD4159AA03D68B194FD365B /* YYAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = DEAEE433C1A4AC2340AD30180CD833DE /* YYAnimatedImageView.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 18 | + 033813F58E3D20FA511AF1B5C3D58FA7 /* UIView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 64D193C84163B92004E21BE9A8A13B71 /* UIView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 14 | 19 | 048D7570F580B28F3DF0FC0B2AA930EF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 666F2A06D9CC71D500B577D3F48163AF /* Foundation.framework */; }; |
| 15 | 20 | 04ADC5DD2971F1A73C00ADF4C40439EB /* YYTextContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 666CEBB485FC6B4BC1861FC6F4EE5093 /* YYTextContainerView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 16 | - 06012BECF3390F6D209D81ABC29DEE7F /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = 03917DDCF8C121DD56B0AD9B603C2B9D /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 17 | 21 | 0678C6B089EDAAEBF0ABD11243A753A3 /* YYDispatchQueuePool.h in Headers */ = {isa = PBXBuildFile; fileRef = E467579343CF6E084F5AF44750D3B054 /* YYDispatchQueuePool.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 18 | - 06EF6A665BCC7FDFD85BD8ABD55A3959 /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 4532E0D4D1C1FCB630416F347E791110 /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 19 | 22 | 0751F49015B77B3FB215DB3AD60A231D /* YBIBCopywriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 33DBCD81CD9E79FBDBDD1041BC653A17 /* YBIBCopywriter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 20 | 23 | 0755CF3A071367BA31851EB62D5B2A60 /* NSObject+YYModel.h in Headers */ = {isa = PBXBuildFile; fileRef = FC399F5E175605828984C7E67A02DD73 /* NSObject+YYModel.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 21 | - 07ECBE230ADCE64A5E565EAC5608FE06 /* SDImageCachesManagerOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E9E88F1E31A013B69A717855A9A782E /* SDImageCachesManagerOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 22 | 24 | 083BF8C20CE1E1F3773EE3C5536D0B0C /* YBIBImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 97A38E03511200872A6CE102D312DA97 /* YBIBImageCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 23 | - 0897E820C9A330AEE938549F3A202047 /* SDMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C6338E013B6CE8A040D3B94EC208F53 /* SDMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 24 | - 09291E0580080AF730970F2DE20C6F2F /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 2FB82601936A52D10C46ABDED4C4D68E /* UIImage+MultiFormat.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 25 | 25 | 098E4E9C697F092846351BE92E971CCB /* YYDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 95F7B5AB059394D73D87262D3556EB78 /* YYDiskCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 26 | - 0A12ECF7CCD9D053812435656179FE07 /* SDImageHEICCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EE818633CBD870C5763EC5A7DEEFEBB /* SDImageHEICCoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 26 | + 09EB95CBDF8D54EB05C26A5196EBBB65 /* SDDeviceHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = CD970A6F82F507060C225F86F7A3F410 /* SDDeviceHelper.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 27 | 27 | 0A29B5E3535A71017ED3189727F50C85 /* YYThreadSafeDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F091181C07B3942FF0C12310A2FD678 /* YYThreadSafeDictionary.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 28 | 28 | 0C2C51B9FDB2D20A15B32D15242BFBEA /* YBIBCellProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = A483F09FE887E66A6F02B7FCBE79F846 /* YBIBCellProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 29 | 29 | 0CCE71ACEC301683C4A76B510BF57603 /* YBIBTopView.m in Sources */ = {isa = PBXBuildFile; fileRef = 96371E9C734320A546704E45E02ED3DE /* YBIBTopView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 30 | + 0CD7B135FD4B84BDB1FB8727A2F85550 /* SDImageCacheConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = DF00E591E4B26D6D1D35456AAE90B1C1 /* SDImageCacheConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 30 | 31 | 0D11DEFCE2724FE3C96AC4EE40F55DDF /* YBIBUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B794942CBB5B6C0D1CF9F241EB18B3C /* YBIBUtilities.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 31 | 32 | 0E1842A4AB5D622772AEB9F4B6287A8D /* YYImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 563F4DAD613D6C00571FC9D44766124D /* YYImageCoder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 32 | 33 | 0E5602930F727902D8CBC2F207D498D4 /* YBIBToolViewHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = A1341A583321F6A80299E2B2D53093F0 /* YBIBToolViewHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 33 | 34 | 0F1D2464A4C6139BB34E7B6E6E39023B /* NSObject+YYAddForKVO.m in Sources */ = {isa = PBXBuildFile; fileRef = E1EF95E26F5A8BC0AD3CEC7DE8D50611 /* NSObject+YYAddForKVO.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 34 | 35 | 0F4E5CD38D18F2E3E75AC64F03934E98 /* YYKitMacro.h in Headers */ = {isa = PBXBuildFile; fileRef = AC5675312A245FA26DAC5D3DA60C6060 /* YYKitMacro.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 35 | 36 | 0FC30F9DC8F64DC4B502B719869ED79C /* YYTextUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = B335348A63303EE2CF47F0FB10EC9122 /* YYTextUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 36 | - 11631B3F15728204C488D6CF17DA63BF /* UIImage+Transform.h in Headers */ = {isa = PBXBuildFile; fileRef = DDF0A0D18F37DBE6D852FCEA2251F1C1 /* UIImage+Transform.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 37 | + 104CBAC9F34C7B8475A096C4B0ACA3A0 /* SDImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 91C17D860CA95052284F7C9198001DC9 /* SDImageLoader.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 38 | + 1201437E196032353D4D2B2DF8206775 /* SDAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C2170C0DA7F6751732A3F6F2D3304C /* SDAnimatedImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 37 | 39 | 122BD5442BBECACB54A06747DED37B0F /* YYWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = FC526297A9617C4BE9A6F090BD02A7EC /* YYWebImageManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 38 | 40 | 1238CAAE4120F0A66FDD66BC8ECA2418 /* YYWeakProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = FDAB2149ED799695566D25A14612AFD4 /* YYWeakProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 39 | - 130C29DD67F0DACDAA2E6A57DA2422D7 /* UIImage+ForceDecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D8872339E7C6C556DCFC2B144D97747 /* UIImage+ForceDecode.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 41 | + 12A76A691E704E6EBE12CC888639C31A /* SDImageGIFCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = EF282CB27CB176AE4D81EB193162E61C /* SDImageGIFCoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 42 | + 1367682CED02F22D43F248A0E36CC17B /* SDDisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EB5FC7AFB1E5240D21A6FE7DF89E87C /* SDDisplayLink.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 40 | 43 | 137968123E34895CA083FE3FE12F8F57 /* YYAsyncLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = A297B0A3BB16024B6497BE64883F91E7 /* YYAsyncLayer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 41 | - 13B7C26AFEF7B9A9BB71D6340836C1D2 /* NSButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 88B758940E94222028625182D6DD5C48 /* NSButton+WebCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 42 | 44 | 14958A9E9713112DA8B0BDD453321168 /* YYTextSelectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BB872492D04CC4C2B83ACB1537BCB51 /* YYTextSelectionView.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 43 | - 16EBE72F21A776BA4F5FA1B43DA0D550 /* SDImageIOCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DC9E6937FC0DCAFBFE9BC1CC778D6C9 /* SDImageIOCoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 45 | + 14C2D66D5EC7A892325562A7830E78D4 /* NSBezierPath+SDRoundedCorners.m in Sources */ = {isa = PBXBuildFile; fileRef = 608E04456BC00743986E00E4A8181EA3 /* NSBezierPath+SDRoundedCorners.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 46 | + 14E9103FD1B1EFBE7BA8EE1137810EB2 /* SDImageCachesManagerOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA5120287BD232F4C4CECF7D74E0104 /* SDImageCachesManagerOperation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 47 | + 16B189FD50EB941DDBCEF3718C511381 /* UIView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 5573ECAD013B67C3DCA80D7EFBDE031B /* UIView+WebCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 44 | 48 | 16F21DD55C514011E36EDA191BC47CE3 /* YBIBCollectionViewLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 4600030B461C937CF76ADA334E8D6F1B /* YBIBCollectionViewLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 49 | + 183F84DC6D79A0F93AE6C13F2EDDDCD8 /* SDmetamacros.h in Headers */ = {isa = PBXBuildFile; fileRef = F37753D5DA03467158CF8F3BFA52E460 /* SDmetamacros.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 45 | 50 | 192CE67469A2B7BAD4691D712B2C9D13 /* YYMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AF2E5796402740EB5340B609872DBEA /* YYMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 46 | - 1A645DC3F75D98F78F685E7E8172E6C4 /* SDWebImageError.h in Headers */ = {isa = PBXBuildFile; fileRef = B93B5CB4F97B4C63233C9781D9074385 /* SDWebImageError.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 47 | - 1A696C66B1AD121F4D74F70046E722BE /* SDImageIOAnimatedCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = BF2240205CFBA63D171F27ED059DA17F /* SDImageIOAnimatedCoder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 51 | + 198D45399940A52F6AD442B5F96A24A1 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 232C7410166470C58B9D7DD4BEE465D6 /* SDImageCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 52 | + 19BA863C27D0A5BBD664CB1ABDA03238 /* SDInternalMacros.m in Sources */ = {isa = PBXBuildFile; fileRef = C8D85332D2674E584830AC6CFE3141FE /* SDInternalMacros.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 53 | + 1A04C35F3E2D85CFCAFC9934EAC8E033 /* SDWebImage-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DED8461605A23446E943D5B44AC07FB /* SDWebImage-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 48 | 54 | 1B3F4D1188B463D85D392E89DABCDE88 /* Pods-YBImageBrowser_DSCnliveShop_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B4FF6780DBBE60AA8EAACC09BD33F72 /* Pods-YBImageBrowser_DSCnliveShop_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 49 | 55 | 1B529361E5652CD292D14F89C9D29ED3 /* UIGestureRecognizer+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = B4A1D7FB30E0B1322F08017865D3AED6 /* UIGestureRecognizer+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 50 | 56 | 1B8FD7D8E9EDF9BBA7ACD5FB448BE517 /* UIButton+YYWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = E97D1AED9A06E626CDC89DE4248FA2DF /* UIButton+YYWebImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 51 | 57 | 1D457A5D62A3B26C40A0BF028086C923 /* YYAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = BAC4F1096AC0661BCC97A1690D41356F /* YYAnimatedImageView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 52 | - 1D8DC86B542A5C7B185D576593BFEF08 /* SDImageCachesManager.h in Headers */ = {isa = PBXBuildFile; fileRef = EF4C3869889BF6E0FB48DB6D3E50C42B /* SDImageCachesManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 53 | 58 | 204561FFAF8A0B7292A4045AFA3E6C96 /* NSThread+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 2083BC9AABD59C97DC155E29DC3E9A9F /* NSThread+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 54 | - 21C54761AEC4B6FF8F628CF62503856C /* UIImage+Metadata.h in Headers */ = {isa = PBXBuildFile; fileRef = C8CF816C63E5B6559556C778BE819AF4 /* UIImage+Metadata.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 59 | + 21C120EDFCE3F1B685833EAE2F088998 /* UIView+WebCacheOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B17144987DDC3673503BAA63081322E /* UIView+WebCacheOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 55 | 60 | 22759285C81AA923E5863F79F180DBF7 /* YYWebImageOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = B0715021BC19551B9A5D5CB2408E7E2B /* YYWebImageOperation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 56 | 61 | 2294C9BC0119442FE4F0EE31CCD819F7 /* UIControl+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = E20C5E35E7CBCF4496931DDD69C93799 /* UIControl+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 57 | - 22AC8168428AA91CEFCC4A1EE18C61A1 /* SDWebImageOptionsProcessor.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A2C5A33CC842DF0109E16A40FED6D58 /* SDWebImageOptionsProcessor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 58 | 62 | 22DB5291728E37A7B7580BA838C1A746 /* UIDevice+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A25BC91CE33678DD088B666A283A44A /* UIDevice+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 59 | 63 | 24437A6D0EA45A0A7D4D93972E399050 /* YYThreadSafeDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = 57EF9F7EACD9A4EA29C6C7519AC29E42 /* YYThreadSafeDictionary.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 60 | 64 | 24EE4728E0D8DCB91B7E600CD3618A99 /* CALayer+YYWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 586579D8B562F5F100F35D60CADAF40B /* CALayer+YYWebImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 61 | 65 | 258DB6DA0945B112C39132D5F2B71ECE /* YBIBVideoCell+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = F48485AE0CAFC4B57A15BC09F76DF01F /* YBIBVideoCell+Internal.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 62 | - 27117846D36D17C67AD6B0BC49819C2E /* SDWebImageError.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D82E5E2C22405F57D03467E23EA118F /* SDWebImageError.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 66 | + 271841B1A02A31A896499240CC233E7A /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = D99CAD8BB03A1ED3ACC306DE0083743C /* UIImageView+HighlightedWebCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 63 | 67 | 271D732A36C08FBFA8BDDFF597300081 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E326D6F0395EE4BAE670CD855A8D0176 /* SystemConfiguration.framework */; }; |
| 68 | + 27E23C72CC1BAD100D8F8E52A77E0DED /* SDAnimatedImageRep.m in Sources */ = {isa = PBXBuildFile; fileRef = FE71B363E5C4B1A08ED28F0F030C3610 /* SDAnimatedImageRep.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 64 | 69 | 27E9D86EE4DB53E0619552A3D32CC2C5 /* YBIBVideoView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9ED618A61344837183008AF1693E8716 /* YBIBVideoView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 65 | - 2987181816CE330B8D8C8011A163DED5 /* SDImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 2FD9BD14816B4B34D6B032B14FCBCD17 /* SDImageCoder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 70 | + 285BB197A61A0553905D872B6E4F6BA1 /* SDImageCoderHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = CF05C25EE17396B80BB50C70733D2421 /* SDImageCoderHelper.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 71 | + 28B63809D42D68F3E44A2012695EC8E8 /* SDAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = D137AC86EF60C0DD4725A67DBED5F6EC /* SDAnimatedImage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 72 | + 292DFB006819CC5C457430933E9DF2CC /* SDDeviceHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 54932F1D65D4CE3969AD7014585252E6 /* SDDeviceHelper.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 66 | 73 | 299334502C7E8A552B093FA1252592E1 /* YBIBImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CA7D546D1F3F75461DF8423D2BF90D68 /* YBIBImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 67 | 74 | 2ACB60B84B7C79A7739A5B0E44D4C65D /* NSObject+YBImageBrowser.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DEA694BF89E27C54D37D6453687E87A /* NSObject+YBImageBrowser.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 68 | 75 | 2AF4B545058531DE31545B25783DD75D /* YBIBDataMediator.m in Sources */ = {isa = PBXBuildFile; fileRef = AFF0F50B5FE26ED59651D7C8D462D48E /* YBIBDataMediator.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 69 | - 2BB48CC4F4CCB6ED239A7116C1399192 /* NSBezierPath+RoundedCorners.h in Headers */ = {isa = PBXBuildFile; fileRef = 480531E7E6576BA8EBC67D80A2410524 /* NSBezierPath+RoundedCorners.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 70 | 76 | 2C74C620DEC4D8EF9E821945D942E42B /* YYTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ABDD0D167F87048EDFBCF3A1E54B781 /* YYTextView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 71 | 77 | 2C9826C18088A3500C545761C905F0F7 /* YYTextParser.m in Sources */ = {isa = PBXBuildFile; fileRef = D27CB4C11DD858E2346FCDB108967EE5 /* YYTextParser.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 72 | 78 | 2E0043CD33920B9F3E512FFD04E64A5D /* UIDevice+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D83880B681055CB94822859FFC3C2B6 /* UIDevice+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| ... | ... | @@ -74,63 +80,65 @@ |
| 74 | 80 | 2FB2D48CEC9FA3F13FE4C8FB20322356 /* YYReachability.h in Headers */ = {isa = PBXBuildFile; fileRef = 784B89EF43D57599270D1491D222B2BF /* YYReachability.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 75 | 81 | 2FF328BC76D267CD2BD2464A76F1BE7B /* YYGestureRecognizer.m in Sources */ = {isa = PBXBuildFile; fileRef = B3EE8BE60AF36139B6E231F4FA722917 /* YYGestureRecognizer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 76 | 82 | 313A089C34F2ECEB35BC86470ADC5FE9 /* YBIBImageCell+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 268BFC97CAD611337B98EA380097C255 /* YBIBImageCell+Internal.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 77 | - 31486EEF2AE7067DC3FB4C41D8B06044 /* SDWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = AD998B4EBF0CD700BD542833326015DB /* SDWebImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 78 | - 31C885C264ACBC869D0C15774FEEEE91 /* SDImageAssetManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B836409E7407CD373408BBEE6FB78A56 /* SDImageAssetManager.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 79 | 83 | 326ACB0AEC6F7BDDCD287D41EEB15F06 /* YBIBVideoData+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = F5670120F17DFEC029094ABAC2358C59 /* YBIBVideoData+Internal.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 80 | 84 | 32E6EAEE45FAFBCC7363F8DA2D5ECE30 /* YYTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = 29A3DA3355DD6482745F7763E549FDEC /* YYTimer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 81 | 85 | 33284B411935766A4D23A0AF0419392F /* YBIBVideoActionBar.h in Headers */ = {isa = PBXBuildFile; fileRef = ADE583D4B2310B6AB0833BF354A6DC60 /* YBIBVideoActionBar.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 82 | - 3402867F1DCE2F01EE152BE666D15391 /* SDImageHEICCoderInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = E1824D23FFCDBDE557E8BCF4A5D1EB64 /* SDImageHEICCoderInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 83 | 86 | 34B96FCCC06C1D11BC31E63DBDE184E7 /* YBIBVideoTopBar.h in Headers */ = {isa = PBXBuildFile; fileRef = ACD89195E78715E8E03598ED048B1DB6 /* YBIBVideoTopBar.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 87 | + 34E8A42A4CD18CF55A1C5CBD1F222D71 /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C7A36D864638BFBD8FEE3A451FAC9B3 /* UIImage+GIF.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 84 | 88 | 34ED3A525719FD3EE9F2A7789D12D7D7 /* YYFileHash.h in Headers */ = {isa = PBXBuildFile; fileRef = B9AB8CA329AC9F81339A2A1B4F0266FE /* YYFileHash.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 89 | + 3526C8C7BD0C5256C819AEB8DE26BC80 /* SDWebImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 61733D38B2BF61692321B0EAD6CE7AAC /* SDWebImage-dummy.m */; }; | |
| 85 | 90 | 35E986B3D2EF9589EDA6898E692750A1 /* UIGestureRecognizer+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = A182794A8F3D76711F0E02DA7FF03E94 /* UIGestureRecognizer+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 86 | 91 | 36B94DF1E7E7776212429AE5CF1456B6 /* YBIBOperateBrowserProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = AFB40C28BD8BD37F15B50CB7E6A20928 /* YBIBOperateBrowserProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 87 | - 3768A48148C1A559EFA6857AEE21499C /* SDWebImageDownloaderRequestModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A7213E5D815346B024AC2C78B59AE7E /* SDWebImageDownloaderRequestModifier.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 88 | 92 | 37E4FA1562451631BA152EDCB15710CF /* Pods-YBImageBrowser_DSCnliveShop_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F170A24D4E53C3C47A8CE99795457D6A /* Pods-YBImageBrowser_DSCnliveShop_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 89 | 93 | 384E30CBBBD2B4A155A989F32F982BEC /* YBImageBrowser_DSCnliveShop-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C705108BAA5E0F79A36A255F671FD73C /* YBImageBrowser_DSCnliveShop-dummy.m */; }; |
| 90 | 94 | 3951BC1F545F8733CBFC8E36CD6EC461 /* YYThreadSafeArray.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F23CF51EA97FF806B2D6A43C0B0AD50 /* YYThreadSafeArray.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 91 | 95 | 398ECA87D5BDB9FAAC6424101D8C1DB3 /* YYImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 13FA3D010FCAB935A4C1E9CC535A7D28 /* YYImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 92 | - 3A717A936244852C7999DF2ACDD3EBA4 /* UIImage+ForceDecode.m in Sources */ = {isa = PBXBuildFile; fileRef = DD7EB188DA7D4BC587FE249FF628B51C /* UIImage+ForceDecode.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 93 | 96 | 3B365E37B4FC771DA78CDE4C81E9ACC2 /* YBIBInteractionProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = EC297FCDA53117783E423EFCF34C4C6C /* YBIBInteractionProfile.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 94 | 97 | 3B697DC46854D39C5E029789A7EB60CF /* NSNotificationCenter+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 39721DF1E2941C5B4B819BD85F2AA60E /* NSNotificationCenter+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 95 | - 3B9737EB4BDEA61D7A6D7C2F83ADE16B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 666F2A06D9CC71D500B577D3F48163AF /* Foundation.framework */; }; | |
| 98 | + 3BAC7E6B28028F929677080D34286C9A /* SDDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 57001503938AEFE09B39A90CD56CF65A /* SDDisplayLink.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 96 | 99 | 3C1845A20677487130FEEB952FB3743C /* YYThreadSafeArray.h in Headers */ = {isa = PBXBuildFile; fileRef = C95F8792B9A29FF9F37927E606871D5B /* YYThreadSafeArray.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 97 | 100 | 3CA5A2706484756D1BA83EFE6B50B63F /* YBIBSheetView.h in Headers */ = {isa = PBXBuildFile; fileRef = 13EFE3DD1D702D85B36FB7D106BC163F /* YBIBSheetView.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 98 | - 3CBE3496D679F3CAC215C24E124CEF20 /* SDImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 0AA629F1636B9E5C1E7779416F41894F /* SDImageLoader.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 99 | 101 | 3CECF913D9FE0F03BD7228B4E1C9EF71 /* YBIBTopView.h in Headers */ = {isa = PBXBuildFile; fileRef = 01925082D3D68AFAC34FD497668DDF52 /* YBIBTopView.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 100 | 102 | 3D05DA022EDD102E5514E769E47AE751 /* YYTextInput.m in Sources */ = {isa = PBXBuildFile; fileRef = E30659E8DA748D0CF9EA5E88C15DA2DA /* YYTextInput.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 103 | + 3D269D2B6E70D5134F84F471FA897C1D /* UIImage+ExtendedCacheData.m in Sources */ = {isa = PBXBuildFile; fileRef = 20421D13A41D462848F051647414A829 /* UIImage+ExtendedCacheData.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 101 | 104 | 3D454A471582F13942DB598AE5959B34 /* NSThread+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = FA31B22A4EC7CB38F40BE6C28871B56C /* NSThread+YYAdd.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 102 | - 3F1C17F8ED3A2719985697A88379D691 /* SDImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = B5F772E2006AB9FCF216A22126D6D46F /* SDImageCoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 105 | + 3E404F1C1EF06355EBCAD17AAA6A7655 /* NSImage+Compatibility.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D6746DFA44B1641AE23A50377370530 /* NSImage+Compatibility.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 103 | 106 | 3F6CD94029B30B62256BEE04B742944E /* NSKeyedUnarchiver+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 09D461072FB1F94116B94C3D35ADC919 /* NSKeyedUnarchiver+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 107 | + 3FE529AB19EA206854B9668E508D927B /* SDImageCachesManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F7D6860C305EDC74687492EDEFC2325 /* SDImageCachesManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 104 | 108 | 406944DED312A7E5BA1B0003EECEA947 /* NSTimer+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 96B1B4E18C7313B870A3AECA294EED03 /* NSTimer+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 105 | 109 | 40802954DE9E2C6E621F0A6C52ECF32A /* UIButton+YYWebImage.m in Sources */ = {isa = PBXBuildFile; fileRef = D696C9B3DB7929040B3B11E0888CE4D6 /* UIButton+YYWebImage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 106 | 110 | 40B5E49E3E7BA95180F22F1F19BC719C /* YBIBImageData.h in Headers */ = {isa = PBXBuildFile; fileRef = CC069742328B0F99B589CD1E88042C72 /* YBIBImageData.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 111 | + 40DD3721BA61598A56ECF57BB1C45EE8 /* SDAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = AF3424AF58293B7AECCBA5ADAE1E90EB /* SDAnimatedImageView.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 107 | 112 | 40F884DA82F3490D28EE4A18D067133D /* YBIBImageCell.h in Headers */ = {isa = PBXBuildFile; fileRef = F95AF0A9B4FD11599AC907D5ED78047F /* YBIBImageCell.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 108 | 113 | 41CB6255FC0ABB5BBFAED4A0F704DD47 /* NSAttributedString+YYText.m in Sources */ = {isa = PBXBuildFile; fileRef = 99C3520C09D1B40E7E268FF0D9C55D3A /* NSAttributedString+YYText.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 109 | - 41D2B74D60CECB9A13273FEA70EB0853 /* SDImageCoderHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 5820AFD9CB1F531DEEEA85AE53BA9FB1 /* SDImageCoderHelper.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 110 | - 43367367332A88EC53B2BEA287BAA3DD /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = CF824EAADAAA9D61882AC1E95A4FAAC5 /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 111 | - 43413AE961CEDF130DB347D12953F90F /* SDImageCachesManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 14AEC03CE74FA3C1ED22FD08ACDC489F /* SDImageCachesManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 114 | + 41E823881385B837FA086E301CBBB87C /* UIColor+SDHexString.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DD82D69E6F6CA677C0FD0DB1910BEEB /* UIColor+SDHexString.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 115 | + 42BB3098DC0E47748C6AD61A10575859 /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = C6064257443573B6B4428384FE55B429 /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 116 | + 4458F0F06DDB8ED606F8089B51DE2857 /* SDAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EADB1874F009D5810228B521E808F8C /* SDAnimatedImageView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 117 | + 449AF3A1E1DEFBD47B2411DAD0E5D6CC /* NSButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = C1B3FCC15992E25641767F7CD50BAA99 /* NSButton+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 118 | + 44F7C039A4502CB6ABFE93BC1626ADAF /* SDImageGraphics.m in Sources */ = {isa = PBXBuildFile; fileRef = 13211B603D4A4D4D2724F2C5BB4407D3 /* SDImageGraphics.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 112 | 119 | 450020EF80EE2190F959859B70A7200C /* NSNotificationCenter+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = ECF2A1D940AD2ABA3D907CE415109326 /* NSNotificationCenter+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 120 | + 451775744CDDD8A2805CCC5FAAE96FE6 /* SDImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 36C8C2D7C7ACA9C26136F7A7D1154082 /* SDImageCoder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 121 | + 461394E1264BA539807AE22B6681037D /* SDWebImageOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = C550536A6B0FFCC49930C911A1A845CA /* SDWebImageOperation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 122 | + 46E5579E12DEE8B0B0E8B4BD484303AF /* SDWebImageCacheSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EA2BCD717BF8B6108E49F1344996DCF /* SDWebImageCacheSerializer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 123 | + 477600BAE7223A59EC2D341F7EAA0C5B /* SDImageAPNGCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 1072A8A4B2B89ECA95DD401CFB50F108 /* SDImageAPNGCoder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 124 | + 47CFA5C583D7B3BFD0FBAD1F1A474913 /* SDImageCodersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D0DD7284FE8B0C78E070E9DA2D0C46E2 /* SDImageCodersManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 113 | 125 | 48021E999B1E5F973788B56CCA965E25 /* YYTextRunDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B1F78325C1CF3117C990E0DBB1443AC4 /* YYTextRunDelegate.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 114 | 126 | 48229CDD5F7F0027AD9E4156B76F2761 /* YYTextLine.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E718C6C13FF741C9062C0F849A452F2 /* YYTextLine.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 115 | 127 | 4823FF271BD5BF673DC75142A9C9E387 /* UIScreen+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = B664849B9E38756422D4E0F139369652 /* UIScreen+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 116 | 128 | 4A0AF19D46BA2F0FD4AF851196B38EF2 /* YYSentinel.h in Headers */ = {isa = PBXBuildFile; fileRef = 47EBB445DD9ED1E0006BD00439ED755A /* YYSentinel.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 117 | - 4A295CDE35C0C3A0C3BDC83BAEEBC8D1 /* UIImage+Transform.m in Sources */ = {isa = PBXBuildFile; fileRef = 81C7DA27208415129BC75A3AE0EC610D /* UIImage+Transform.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 118 | 129 | 4A5A8FC3C886ED3C64CED4D130FE0F03 /* YBIBDefaultWebImageMediator.h in Headers */ = {isa = PBXBuildFile; fileRef = 68D2A3CB6FA504A7585BD0C033C2860D /* YBIBDefaultWebImageMediator.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 119 | - 4A63641D8EA2784EA3ED6DE31D3EEE7B /* SDImageCacheConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 880ED7B5A8CB58EE4EE46F97AAFC7934 /* SDImageCacheConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 120 | - 4B010F01929654CD157576546C2CA5E5 /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D4F696743A974B8507BEF6FB323BB62 /* UIImage+GIF.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 121 | 130 | 4B3B7BFD84DD51A967904785A38307B7 /* YBIBContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 101F73BF4899F419E3CC133F2A9180D4 /* YBIBContainerView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 122 | 131 | 4B8C95CC6A366A73C4F26F2448899292 /* YBIBLoadingView.h in Headers */ = {isa = PBXBuildFile; fileRef = F0C1D31C0ED9EAF5880440E2214DFB67 /* YBIBLoadingView.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 123 | 132 | 4B993FDB4652EC183C92386AD8A826F4 /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA809AC31169252E62703BD0FBD06EE5 /* AssetsLibrary.framework */; }; |
| 124 | 133 | 4DE3E72DC3D3D19FF35127E11FACFC2C /* NSData+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D09FF329509C51C099F07C2BA4EF7A6 /* NSData+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 125 | 134 | 4E113F880A8F4186232B79C088D5B228 /* YYTextLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BE5EE0D085B4C8EE2CDD27B25526D0D /* YYTextLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 126 | - 4E303A392C14264AF2A7846A47904C0E /* SDImageFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F679F8EE0717580BF2DF10529B314ED /* SDImageFrame.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 127 | - 4E5C5A91108AA66D06C8D32C62266D23 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E907072812DC6E02160321606CBFFD2 /* UIImageView+HighlightedWebCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 135 | + 4F227430C16CAB3FF65A1488229BF46A /* SDImageHEICCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E02A020962AA8A983BE9DEF489D5CC5 /* SDImageHEICCoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 128 | 136 | 4FB4BD99B28E8CFEA3F95747EF6CEF79 /* YBIBSentinel.m in Sources */ = {isa = PBXBuildFile; fileRef = 13CCFEB0FA63FC0D2DCDF8E5B3E3CC33 /* YBIBSentinel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 129 | - 4FB58F2A627219E59C6002407BA17370 /* SDImageIOAnimatedCoderInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 74C01AF8051358A2AD340A5AB3505F28 /* SDImageIOAnimatedCoderInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 130 | 137 | 4FEFE33A7E35A2D1C37A49A938DEA3BF /* YBIBToolViewHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = DF010552264134747196B93F7030F079 /* YBIBToolViewHandler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 131 | 138 | 511503F829FAA5EC9610F4443E3D2847 /* YYTextArchiver.h in Headers */ = {isa = PBXBuildFile; fileRef = 9126743F263F9F3BED4DDDB5EFF3F2C8 /* YYTextArchiver.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 132 | 139 | 5170A333176FE316425BF9199E723910 /* YYTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = B4632D2A423ADC26289A01B226F70E28 /* YYTimer.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 133 | 140 | 517A0598B2C0EA7B8F5C74D34845F0D5 /* YYClassInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 55FA14C2DEAB1ED0438F36B2AF930CC1 /* YYClassInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 141 | + 521A2AB2326986DDA7210B222799D82D /* SDImageIOCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 102A8609FE38B44A4F04554766133491 /* SDImageIOCoder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 134 | 142 | 52EB680BFBB3E4C3F09C36F423DF2CC8 /* YYDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 28231517D2EC4777AA0E1F8613912A64 /* YYDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 135 | 143 | 538760AA208FF206F3BF4156545C0AEC /* YBIBSheetView.m in Sources */ = {isa = PBXBuildFile; fileRef = A8AF070443791A87599C26E1E46E74B1 /* YBIBSheetView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 136 | 144 | 54B786B4C13CB1CF2A1D5BFA8E223872 /* YBImageBrowser.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 7A2AD834B988AB862338A88298281712 /* YBImageBrowser.bundle */; }; |
| ... | ... | @@ -138,23 +146,23 @@ |
| 138 | 146 | 54F83939D254C814BD261C4F9067EE45 /* YYImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = C805133F6D3AF69C8994E6375F7B7155 /* YYImageCoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 139 | 147 | 54F962BB1E3633A8CE3CD524A2A091EC /* NSObject+YBImageBrowser.m in Sources */ = {isa = PBXBuildFile; fileRef = 1238AEB9DF5C8189A50C5E4E0B74DC2E /* NSObject+YBImageBrowser.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 140 | 148 | 5551655EE581057624E66895BC5A99EF /* YYTextLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B4A7C95058000CD832DBF4537DCFBA4 /* YYTextLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 141 | - 55F81E8A4E05DCEA1424C070100D7A08 /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0027B01676377B9218BE8AA537BDAA8A /* SDWebImageDownloaderOperation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 149 | + 561EAFCC4AA4A4FFA55319ACF371D31C /* SDInternalMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ECDD31DCADBB91FE191C953267FFF2D /* SDInternalMacros.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 142 | 150 | 565EE0410B39DE584B5CB1DC63FF74A9 /* YBIBDataMediator.h in Headers */ = {isa = PBXBuildFile; fileRef = 80A4A26F23AC2E0F4F5EBC0F4B53543D /* YBIBDataMediator.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 143 | - 56D932D22CCE25078DDC72863C793EB6 /* SDAsyncBlockOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CA2F973E303B162092C59FA182AC2842 /* SDAsyncBlockOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 144 | - 571964893E54957A53F88749EA22E79B /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6076834A27CA897C42FFDA170BDE4715 /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 151 | + 56D4C3BEBAF6D7B57123C4A919EDFC4D /* UIImage+ForceDecode.h in Headers */ = {isa = PBXBuildFile; fileRef = D1A63106E180D500BA4681CBFF159C50 /* UIImage+ForceDecode.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 145 | 152 | 572FF20566D47336C057266897DE4592 /* YBIBVideoCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 3378EC961A947D7584285C497BA5C833 /* YBIBVideoCell.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 146 | 153 | 57AA56BCB8A92A8D90C5BA695D8E8FC8 /* UIApplication+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 03021F927B254ED434510FB85A91E7DE /* UIApplication+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 147 | - 584691DE6F6DC43CCB28E2164DDD65C5 /* NSImage+Compatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C0EBBBE53B935FF0453555166C8BD82 /* NSImage+Compatibility.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 154 | + 580A58EB2DC597145BE726FF15B7B980 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F204DC3ADE5CAA2617773E3A9EFDDBB /* UIImageView+WebCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 148 | 155 | 588A0B34308F4D28990E6B5C34B14E57 /* YYTextInput.h in Headers */ = {isa = PBXBuildFile; fileRef = E7A8CFE58CA45BE0CF414ED53D7E9831 /* YYTextInput.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 149 | - 5B6E86C662422D902876E9564F7D0D62 /* SDAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = CCFF6195D3943C3B2EE93D641F705287 /* SDAnimatedImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 150 | - 5BB4DED775A9AB9259E214C9543F2409 /* SDWebImageIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = AD9AD3087AA0C54D99784B1E96B8F385 /* SDWebImageIndicator.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 156 | + 5BCB8102AFF58BDD96E0C059F9B88BB5 /* SDGraphicsImageRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6016CD6764077B1F107BD22483AA7D14 /* SDGraphicsImageRenderer.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 157 | + 5C11EACACCF1A59EC89E212517D471D2 /* SDImageHEICCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = F73E603FC59F5282264218DA84C3E5B7 /* SDImageHEICCoder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 158 | + 5C5058FC446A9C6C4F3FA70C2121A267 /* SDImageFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = C43DE0B9900A2DBDABA15312032D955B /* SDImageFrame.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 151 | 159 | 5CE0FBC3853B89C290600C1D8FAA316D /* YBIBAuxiliaryViewHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 618A21680667BDF2F6B320EC659C0C8A /* YBIBAuxiliaryViewHandler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 152 | 160 | 5D2EAD73E6A402F5BFED5E1899810342 /* NSData+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = B63F966DDF9161A1C29525E49D01A94F /* NSData+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 153 | - 5D93304CCA386D1CA921179A22788088 /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 3977DF74625040A3E0128C656F9FA8D0 /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 154 | 161 | 5DADAC8CF846B868BB1435BA03B14CB9 /* YBIBWebImageMediator.h in Headers */ = {isa = PBXBuildFile; fileRef = E11C276295B8B9FBB66B8CFCEDD10534 /* YBIBWebImageMediator.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 155 | 162 | 5E21A134F5D88BEDF281002DBB92E3F7 /* YYTextEffectWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = D12BADAA1C1EED1E8EFC4C3B586A68EF /* YYTextEffectWindow.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 156 | 163 | 5E2CDADC7CCD44D0C28AB2517341C12F /* MKAnnotationView+YYWebImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 9505B72CDB9E287780696B552708241D /* MKAnnotationView+YYWebImage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 157 | - 5F7825DA2B38AE6F113742CD8640B6A5 /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = C0F853EDBA5EE0AFD5FF80DF4E069774 /* SDWebImageManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 164 | + 5E96F449788433CD16C308CA4C4974AB /* SDWeakProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 9915D39521761F821273ED4AD94F462B /* SDWeakProxy.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 165 | + 5EC0E24AEBC97BED8827D6824B20AEA3 /* SDWebImageDownloaderDecryptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 5566B7FA1592DB68F47F538060773A34 /* SDWebImageDownloaderDecryptor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 158 | 166 | 5FF823B0C133DC09A947E1EEA83AE787 /* YBImageBrowser+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 05B6665B0FCAC9FA4988670409B6B9EF /* YBImageBrowser+Internal.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 159 | 167 | 604E401B7BD596E58D52BD8C3439E285 /* CoreImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F0A032626FFA7C226DF55204CF32C5A /* CoreImage.framework */; }; |
| 160 | 168 | 608BA5B01D1787C25CE77E5A4B61010C /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E1DF05D31C52BDD36D3C352B6D38143 /* MobileCoreServices.framework */; }; |
| ... | ... | @@ -162,112 +170,124 @@ |
| 162 | 170 | 613F0D98262025998DBC67A9DD29438C /* YYKeychain.h in Headers */ = {isa = PBXBuildFile; fileRef = E1789ACB2E0A630C9C7419690313D4BD /* YYKeychain.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 163 | 171 | 623635ED16355C8405DDCCEE7E014476 /* YBIBVideoView.h in Headers */ = {isa = PBXBuildFile; fileRef = ED78F9035D62E00668B4A848571B55C4 /* YBIBVideoView.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 164 | 172 | 62EE7A80845DFDB75A9E1F0ABEE8A761 /* YYClassInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = F23B513D9D8F0D3A6E0802706EAAE0A0 /* YYClassInfo.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 165 | - 637C07DAF593E361026C13455CED3356 /* SDImageIOCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 7492D3D26ACA17BE066949BC5402EFA6 /* SDImageIOCoder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 166 | - 6419E84A00BD1CC2D89FBD11DBA95B35 /* SDAsyncBlockOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 95D767BEAA3A22D8C4B4F881F593EA55 /* SDAsyncBlockOperation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 167 | - 642B272637AFE100C01566715BE9A90E /* SDAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 994DDB7514B65007DB23743EE9419955 /* SDAnimatedImage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 173 | + 64CB4C39356EDD005F3104B820F4B299 /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = EFBE035B06C6B5FC5316B23AA385AEB7 /* NSData+ImageContentType.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 168 | 174 | 64CE031D05AF0C7617076D3ADD88DCB8 /* YBIBImageLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 375D9DE1B1D8EB4B9968FB74F25DE792 /* YBIBImageLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 169 | - 66ABFE235C4A3EE1284E40B26EC06E50 /* SDImageAssetManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 26EEACAD4CFF038839E5CAE01FC51426 /* SDImageAssetManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 170 | - 66E7DB4A06FD62E3319504FA066A159D /* SDImageLoadersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = FBAFB1147F9F60F82F67F2F93767AEA8 /* SDImageLoadersManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 175 | + 64F3EB426774D6F1D593DBFAFFBF6791 /* SDWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 467332BA4DF047A604E2AD170D2A9A6C /* SDWebImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 176 | + 66794E1E249B57756C75632B1CF7AA7A /* UIImage+ForceDecode.m in Sources */ = {isa = PBXBuildFile; fileRef = 4423F2AF5E01BBBB5F27784F5DA57247 /* UIImage+ForceDecode.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 171 | 177 | 66EEEC491B30074BACEFD2257033864B /* YBImageBrowser_DSCnliveShop-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 30A5E7177537475E2A71D3D8A0E4C58F /* YBImageBrowser_DSCnliveShop-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 172 | 178 | 6711B19F0807169D6079C83D4BFDF7D2 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 027369B6DC1B43C3102AE522A00B351F /* CoreGraphics.framework */; }; |
| 173 | 179 | 676B7D9D11B4F2687F9B296CC9950AA7 /* YYTextMagnifier.m in Sources */ = {isa = PBXBuildFile; fileRef = B436707B203DBCBB754448AF3071705A /* YYTextMagnifier.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 174 | 180 | 67992FD17748FE24783B25E1BF320274 /* YYLabel.h in Headers */ = {isa = PBXBuildFile; fileRef = C183149AE26EC946A2F3DEA358713217 /* YYLabel.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 175 | 181 | 68F3A40EADC0AF71E41CC70C36F6976E /* YYFrameImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 410FD0E1E2173C4AFCCB371FC6932374 /* YYFrameImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 176 | 182 | 696CD1B74C639EE917E0D2A956F50935 /* YYTextUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = B5AA17CCA3C4553252CF80AEF70404A8 /* YYTextUtilities.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 183 | + 69979E7EF7E1322AF64B9D04EC5DC4FC /* SDImageCacheDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 1249E97F29FD39E6B5CA9DD3D122921C /* SDImageCacheDefine.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 177 | 184 | 69B6CA397711950A1FB1F7159D8C730D /* YBIBCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 09FA23E05944FF1B0AD4A1CAE80AE86E /* YBIBCollectionView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 178 | - 69B78205FADBA6F82DD7D8842E744559 /* SDWeakProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = FF96D9B286912D2041A6038E44BF9D78 /* SDWeakProxy.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 185 | + 69FC796803AADF6F7D78E034F759E07A /* SDFileAttributeHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F25D99C7ED5F7ECE058950E756B815B /* SDFileAttributeHelper.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 179 | 186 | 6AFF36353F18609B9EBF04EEFFF0AB4B /* YBIBPhotoAlbumManager.h in Headers */ = {isa = PBXBuildFile; fileRef = ACB2C18C7F7569D6D85619691655DB76 /* YBIBPhotoAlbumManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 180 | - 6B841305B372900E43EAD6CF233EA695 /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 397498F9C1EC4E17B000928E2E9A2551 /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 187 | + 6B8E9A4250E31C61FFB2FA44B1ED587D /* SDWebImageDownloaderRequestModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = FDF39D0D9A539DD852E83070D546838D /* SDWebImageDownloaderRequestModifier.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 181 | 188 | 6BACCB1BBF481BA828D7226094996218 /* UIBezierPath+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = AF18321586C240857382009824EBDB64 /* UIBezierPath+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 182 | 189 | 6C294CB68EBA0C3F43058CCA6D0629DF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 666F2A06D9CC71D500B577D3F48163AF /* Foundation.framework */; }; |
| 183 | - 6C9E415ACF9DBBF5276A439ECA83FF41 /* SDImageCodersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A3758E1F2262F48C18DEA44579E7F23 /* SDImageCodersManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 184 | 190 | 6DCEAB9BC2D35D749577C700151E76BE /* YYCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 0BA7CBEA43C737A330D9608FE7806297 /* YYCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 185 | - 6E23CCE1DD2C5694FB3733EF5969C2BA /* SDImageCacheDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 843DE7A9D5751B6D1E4B542142E88BE5 /* SDImageCacheDefine.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 191 | + 6F14B66A0031F8CD2DBD49D05F285A5A /* SDAnimatedImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B374325A4827DE6AA8D86E8A4CA0C0E /* SDAnimatedImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 192 | + 6F52C02EB7BEBB28BEF797764940E83D /* SDImageTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 115DF10AB89F4BD3959B0760E6FF7F5A /* SDImageTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 186 | 193 | 6FFF65E8EF55589DBF7739C2B3C0C408 /* YYTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 74C9F42DE0F28AF77F3789C8BD0F8A78 /* YYTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 187 | 194 | 7100C768AE648D8FF211D24F285AF3F7 /* YYTextRunDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 89E1C94E51AFCA8ADEB14A14D7E5C910 /* YYTextRunDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 195 | + 71C055BCF544D98F47CCFB404A9157A0 /* SDWebImageTransitionInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = DF0BE15112187DE13F59F20FD37196BF /* SDWebImageTransitionInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 188 | 196 | 71F103B56B2BE2EED9760CB429416EC9 /* NSArray+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = EF5D08601B4B637FF284E68A8EEC858C /* NSArray+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 189 | - 720BDB7561A9BF9FAA229655BF6BAACB /* SDImageCachesManagerOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = A2EE608D10670E27D666BCB148BE76A8 /* SDImageCachesManagerOperation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 190 | 197 | 7239A93C05A719FEA5955CA08CACD819 /* NSBundle+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 43D073BDA908719B072B9A52BECCED3D /* NSBundle+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 191 | - 7296ED68E239CF8323284C327EFD34DB /* SDWebImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FB1475C6AAE3E931553C57D2012437B /* SDWebImage-dummy.m */; }; | |
| 198 | + 725C541DA4309D9A2CE04EA1BAC9DB05 /* SDGraphicsImageRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DB88B001512FB115B60C0A194FAB687 /* SDGraphicsImageRenderer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 199 | + 7320BE37CC5564C9200656A346D16D7C /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = ECCFB33F5B2FAFCB9059F1EA4872AD5E /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 192 | 200 | 74A52BA6F30673465B7D46D9C0D589DF /* NSObject+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = FF1FC22A806424A9D295AA3C1785B496 /* NSObject+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 201 | + 758D45C8E630A9B2A29746AFAB257929 /* UIImage+ExtendedCacheData.h in Headers */ = {isa = PBXBuildFile; fileRef = 885401F9AE5B59CB193871CFBB1551CC /* UIImage+ExtendedCacheData.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 193 | 202 | 75EFCC25F3AB66922773B08B40ACB930 /* YBIBImageCache+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 327DD14828A174C897406BB7ACBB30E7 /* YBIBImageCache+Internal.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 194 | - 765CF9D27014B63D63045C295D14D47F /* SDImageCodersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 106CDD63C990007C4EBED229576FD0E6 /* SDImageCodersManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 195 | - 768B0529984555456940B969FB3B0C5B /* UIView+WebCacheOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B9F2CAB3EBC390CC9C5DF6FEB4AE54E /* UIView+WebCacheOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 196 | 203 | 771B60C15778D6A1F7F9EBA03217C0FE /* YBIBSentinel.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C1FEAA05AC81F62B91CF98EA70351DD /* YBIBSentinel.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 197 | - 773F599C7937832DC3E3C3F5FC41A2BF /* SDWebImageCacheSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = E6AC77D76359DA3AB60BBECA32896CFA /* SDWebImageCacheSerializer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 204 | + 7829F86094FA530717C4AF09DFA1FCB7 /* SDImageGraphics.h in Headers */ = {isa = PBXBuildFile; fileRef = A86C89F5D3FD68F631C6AAB3E9FFDB67 /* SDImageGraphics.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 198 | 205 | 783E03543353E623E739BE78A5929AF8 /* YBIBLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 45819A3D4F8AF3FCF1D0D1AF84EADC51 /* YBIBLoadingView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 199 | 206 | 78425788741B147A8800D730F768DDC9 /* UITableView+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = DD5396322ED69A5415D1CCD0B6393CA3 /* UITableView+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 200 | 207 | 7854082241AE68119F337D38216F3C71 /* YBIBCopywriter.h in Headers */ = {isa = PBXBuildFile; fileRef = B693FD0CA179F7A03CC3787C32366CA7 /* YBIBCopywriter.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 201 | - 78C4797B83602657490272FB5AC87882 /* SDWebImage-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 159B608142C5AD0E99E00479F64CDAFE /* SDWebImage-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 208 | + 78A8F86E5996E580294B65E304C65F6A /* SDImageCachesManagerOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = F3FA042CB9FEAE916F9354DD0FFDC410 /* SDImageCachesManagerOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 202 | 209 | 7906BC8879E295E9832A8668BEDAD6E9 /* YBIBDefaultWebImageMediator.m in Sources */ = {isa = PBXBuildFile; fileRef = 60FC5BFD7F334913232A59633DEE5138 /* YBIBDefaultWebImageMediator.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 203 | - 7AA1932AD1AADADB7084C1120E353441 /* SDWebImageIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = C343BEA71DA4406F27A27215550DB0CA /* SDWebImageIndicator.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 204 | - 7BE352AC96A490424A89542C59B92D27 /* SDAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2594CEE3269A686FE6A32ADF1ACDA903 /* SDAnimatedImageView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 210 | + 79140F3DB1DFA9969EF7EA809862461B /* SDImageIOAnimatedCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CA02462DD9F35B55FD8C20DC0A0CDBC /* SDImageIOAnimatedCoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 211 | + 7A39F3B62173880BC1A1E872B2B0DE19 /* SDWebImageTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 7136C53C3E86DF97021DEAC46C3AF414 /* SDWebImageTransition.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 212 | + 7BDCFF16AD5094651DDF91E007A194A1 /* UIImage+MemoryCacheCost.h in Headers */ = {isa = PBXBuildFile; fileRef = 1780A6FB6896D6EE58CA176A32A91167 /* UIImage+MemoryCacheCost.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 205 | 213 | 7BFB921FDAB6E3FE9ECDECF872C8E101 /* NSObject+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = B1A650BD7991FDA4D59B763DC0B897B5 /* NSObject+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 214 | + 7C9BCCE2BE2AB0F74617E9638E8383E2 /* SDAsyncBlockOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 14EF33DBBD181973544221E30D2DC4B9 /* SDAsyncBlockOperation.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 215 | + 7CB9508A6133F4674F3358339F62CF03 /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 03A09A7D80E19CC940BE2323D0536D61 /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 206 | 216 | 7D3C72B253473131AA5D6B75A4044A4D /* YYTextLine.m in Sources */ = {isa = PBXBuildFile; fileRef = CAF78B066BA4AA1500A5DFC15357B69A /* YYTextLine.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 207 | 217 | 7E798DEF60E5AB2D32D36B2604826737 /* YBIBImageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 849AFCF98DA4C75651F5D475A19348D0 /* YBIBImageCell.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 218 | + 7F47C6E48CDC5A9B788F8EB05D826BE6 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9EF0789AEFDBB03D69E8BF132003277 /* ImageIO.framework */; }; | |
| 208 | 219 | 7F779583472271986B6B9AFE3C708D20 /* CALayer+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = FAAA1659DC5FA259CDDED68F436C2BF1 /* CALayer+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 209 | - 8095235275C7774DBD0439AEBF02EBF9 /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = C2DE3B8DDA43BF244A83FA3A8E49B9C4 /* SDWebImageDownloader.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 210 | 220 | 8162CC737D0F996DB7986B1B89C50B29 /* NSParagraphStyle+YYText.m in Sources */ = {isa = PBXBuildFile; fileRef = 0501ADF2BFD7B3CD05199AEA120542A3 /* NSParagraphStyle+YYText.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 221 | + 826CC80A43888E4B01B8C0F546CCEB4C /* SDAnimatedImagePlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = E6B26DB6EEA41E128F36B8CCD8BA6C90 /* SDAnimatedImagePlayer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 211 | 222 | 82B7DA9954D4613DC589CF3A6D681E3A /* YBIBInteractionProfile.m in Sources */ = {isa = PBXBuildFile; fileRef = AA0DFD4E17C227B014108A94D20370E6 /* YBIBInteractionProfile.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 212 | 223 | 82F9FC32B8CEFF860D7AF3ED3D109D79 /* YBIBUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 33F8253486294181F468179983E49503 /* YBIBUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 213 | 224 | 831E7B86A0A02A8B9099B742E8B9F365 /* NSObject+YYAddForARC.h in Headers */ = {isa = PBXBuildFile; fileRef = E6549BAAE978C54E9943845A282B7887 /* NSObject+YYAddForARC.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 214 | - 83A3C38994C1BE0F1B3FDC74FF3EB86E /* SDWebImageCacheSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 631A43488B8C087EA660030CD2484EA9 /* SDWebImageCacheSerializer.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 225 | + 84996105619FE8603B904EBD8CAF4650 /* SDAnimatedImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CB6206FBA44F9BD5BB69EB2338D24399 /* SDAnimatedImageView+WebCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 215 | 226 | 85433B42BB6C81E20A75F25805D4BCDB /* YYTextSelectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C9EBF2F4721D7796CABB86E57141312 /* YYTextSelectionView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 216 | 227 | 856B3588D32C1F7B1F12D7EFEB3E6F0B /* YYCGUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = C67FA1CF5455B750586F3E50B4AEE6B5 /* YYCGUtilities.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 217 | 228 | 858027A29B152077943E0A28CE622EB5 /* YYLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = B24C89AA8E69F17D8867CB8BAF8453DA /* YYLabel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 229 | + 858BA6CE212BDE681F7B8EC99CDEA5A2 /* SDImageLoadersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = CE599BD66BC1D5DBF2513D84C9CF10D2 /* SDImageLoadersManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 218 | 230 | 85B06803E42F5D23940D925E5B50BC20 /* CALayer+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 638CD74411415C9BD0B7940010462593 /* CALayer+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 231 | + 85B91AFDF4CF2F4FB54D35AE96CB02DE /* SDAssociatedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 12B66AB16766AB4060516E7814443E08 /* SDAssociatedObject.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 232 | + 86A92CFC75F685F5805824C81ED34DD9 /* SDAnimatedImageRep.h in Headers */ = {isa = PBXBuildFile; fileRef = 71AEC717DE657C306DC4220359875899 /* SDAnimatedImageRep.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 219 | 233 | 86AA30BB751B23F8B7D87847A0D22CDC /* UIColor+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B392E50F95AAAED6E6AF60D7A6FBA53 /* UIColor+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 220 | - 873613A08846E4C11A3D0504EF738DD3 /* UIView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C25A06B05CE4932A05E03D9A5B91E1A /* UIView+WebCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 221 | 234 | 8789F7B4DB1B1FB100F83B649A587A7E /* UIBarButtonItem+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 50E241CBBD2EF97B17ECA31FEAF181E7 /* UIBarButtonItem+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 222 | 235 | 87BA235C9033EB1E9BD42009504AF9EC /* YBIBIconManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AD92986443124E1DCE997385B496FB7 /* YBIBIconManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 223 | 236 | 882B95F4DB08FE20F2326F2C36D7844A /* YBIBPhotoAlbumManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 14462A5B7907FCC9A6CC6EAD33842356 /* YBIBPhotoAlbumManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 237 | + 8860B7C942F4FDAC599E545DEC6E0446 /* SDImageAssetManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 657DCFEE5B399779371CC2AC2AAAA206 /* SDImageAssetManager.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 224 | 238 | 886F2D2210CE2308AA97C645044F692D /* UIBezierPath+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A08FF9357329D825160ABB1311027C9 /* UIBezierPath+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 225 | 239 | 8908C0789F324444C029342D5462093E /* YBImageBrowserVideo.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 78C427ED00AF6FA74B7F70468B7F9537 /* YBImageBrowserVideo.bundle */; }; |
| 226 | 240 | 890F7FAF9C784AFD91B418628C895EA5 /* UIFont+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A37969EF9EE0C673EADF254ACD0FE1C /* UIFont+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 227 | - 89AA4B620BAF006802F7FE16331FBB03 /* SDDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 85323CE74E87D9048ABFE6CB1D80BCB5 /* SDDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 228 | - 8AAEE8B8F842102CB770F4A2C286AEE0 /* NSBezierPath+RoundedCorners.m in Sources */ = {isa = PBXBuildFile; fileRef = DFFBF564BC41F65FF3EF9F404A3FF8A5 /* NSBezierPath+RoundedCorners.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 241 | + 89A6805309AE158EA70271058AD04DAC /* SDImageIOAnimatedCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = FFC1A8B570BBF9B90CBC65027B601DEE /* SDImageIOAnimatedCoder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 242 | + 8A1D68B08A42906461750649F460B63E /* SDImageCacheConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = A788FE41CE72DC285C7E12274B2EEA45 /* SDImageCacheConfig.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 229 | 243 | 8AE9809EDD831DD756AA7CE5682506C1 /* _YYWebImageSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = A76D4662C854612618E547F25B4B90A5 /* _YYWebImageSetter.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 230 | - 8B3648DF3CD6DCE1F23B154EEC9F47BC /* SDAnimatedImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 523A9DF244F75BFD8EF7183295D79237 /* SDAnimatedImageView+WebCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 231 | - 8B36C6BD6BC521D6EBFAA6C06204C8AE /* UIColor+HexString.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D082DCD13F9572880B69B6E5DBA621E /* UIColor+HexString.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 244 | + 8B74D26ECDC0A95EADFD2FE3D6044F45 /* UIImage+MemoryCacheCost.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F30AC9537E6584F35D8DD4C10EDB7B1 /* UIImage+MemoryCacheCost.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 245 | + 8BE030582BFA5590BC7A1EB1A7E8DDC4 /* SDImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = F4C26425407B34D7EF26491A3F6C3412 /* SDImageCoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 232 | 246 | 8C0825934BBB790BB7D7F435B99A835F /* UIView+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = C9B5994C44BF5B2184C156762E7CE811 /* UIView+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 233 | 247 | 8C2F2218E1D1A409DB32DEB82289DA8D /* YYDispatchQueuePool.m in Sources */ = {isa = PBXBuildFile; fileRef = F3DE1A955E99033B5412502804883E07 /* YYDispatchQueuePool.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 248 | + 8D6092C5708543E1975D21EF342829A9 /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = DA18D81BDAB5332971532C646A936989 /* UIView+WebCacheOperation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 249 | + 8D7206334016EF356DD5C06DB743927A /* SDMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CF9EB80B340726BF23F53617B34B3575 /* SDMemoryCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 234 | 250 | 8E31AD7B15C74C86FAAC41197FFD834C /* UIView+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 0EC1CFF6509F136C99FC9C20BC2F40A9 /* UIView+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 235 | 251 | 8EF950F7068D194AE492ECE97195952B /* YBIBCollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = D90E67DC9CA5A5BBD19018BD64C3ED87 /* YBIBCollectionView.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 236 | - 902A0F8F36BB0CD612BD333AB538FFC0 /* UIView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 0847D06FD8D970FB3747D3FFE1EF1A98 /* UIView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 252 | + 8F0623242A13E39BB0068F748D5A7819 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 666F2A06D9CC71D500B577D3F48163AF /* Foundation.framework */; }; | |
| 253 | + 9058F00D7FB0F44089EA7418C9BE80CD /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 9998D272F6C21B92ECDBCC87B232F260 /* SDWebImageDownloaderOperation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 237 | 254 | 909A12FCA29D66EFCCDEE05DEAA25AD2 /* UIScreen+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5253D89927E6E90C258D665347D1F07 /* UIScreen+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 238 | - 91EC5D1276C67BD151CE0945E99D346B /* SDImageHEICCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = DF6A0A2DCDCF701127D57F57D20CEE46 /* SDImageHEICCoder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 255 | + 90B45AE4B48040DD4DF7B2521A41FA93 /* UIImage+Metadata.m in Sources */ = {isa = PBXBuildFile; fileRef = EFFC73CFCA9A8BA73DF3B34FE5E9C8B0 /* UIImage+Metadata.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 256 | + 9140B89832569466DC295558951FF9A4 /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 14FC848A818168BBB863CFE049B98704 /* SDImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 257 | + 9212629910630E2F8888272B38EA81E4 /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = B083F58677FB62CBAA120E34B5932133 /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 258 | + 92253035C5C62FC047813B453A47011B /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4294BEEA87AE1F76B25087B05E8A9958 /* SDWebImageManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 239 | 259 | 92670B7BB6CEA73A198E8A746E1C1CD2 /* YBIBScreenRotationHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 305596E45FD137D2410A689DD199F532 /* YBIBScreenRotationHandler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 240 | 260 | 92913C44AD4321D8421DE300F0A9286E /* YYKit.h in Headers */ = {isa = PBXBuildFile; fileRef = F34CC7CBACC2F933C4B4839C7EC1F010 /* YYKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 241 | 261 | 936E1D7A3C66AE0EF67123511CD08229 /* CALayer+YYWebImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A4D5229E0CA5F30FA43F226DA32F462 /* CALayer+YYWebImage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 242 | - 93EEC3D112C8D5BAF8202BBB7C0F8D40 /* SDImageTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 662B362504EE532B6C5EAA6DEDDC5D23 /* SDImageTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 243 | - 95AC0F0E049EC392931B147F1BA4C11E /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9EF0789AEFDBB03D69E8BF132003277 /* ImageIO.framework */; }; | |
| 262 | + 949BA4CC204D826571EA4E85BA769DB7 /* SDImageTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DD0F8422DC31BC404DEB779AA5DB139 /* SDImageTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 263 | + 95D70798AF08A9AF6AC0455ABAC50B31 /* SDWebImageError.h in Headers */ = {isa = PBXBuildFile; fileRef = 03964B173BAD2879E938A697CDE23E58 /* SDWebImageError.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 244 | 264 | 96AB2F6D7AE46198D83ED24B28E00003 /* NSObject+YYModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E06030C0DF9E059A44DC7D324FA93760 /* NSObject+YYModel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 245 | 265 | 96FDF5B7C780A120B66EC7342764D4C0 /* NSParagraphStyle+YYText.h in Headers */ = {isa = PBXBuildFile; fileRef = BC5FD9E63BBBE388DFDB5D32A946420D /* NSParagraphStyle+YYText.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 246 | - 972F3D3004A38B2E91B514317462F912 /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = E028311EA2C17015A8136F9F9A3DEEEC /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 247 | 266 | 9732D149C66794908C965F8C1945C883 /* MKAnnotationView+YYWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 23CB6B846F24E05FCCCC37E91C2CF35A /* MKAnnotationView+YYWebImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 248 | 267 | 989D406D24C2A82F500CDA7740E72F7F /* YYTextKeyboardManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CC0CE9E8F82738D36611F6084F5F9C8 /* YYTextKeyboardManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 249 | 268 | 98D3B3E9EA04801317B3AA768D4653AF /* UIPasteboard+YYText.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E6FAD07C5929BC33D1A767B8226595D /* UIPasteboard+YYText.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 250 | 269 | 991B17A23FB6ED5F941D3DCEEC928568 /* NSBundle+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 9387B514E9488C1E4C98357D42D4112E /* NSBundle+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 251 | 270 | 99A675497C0B12DF9BE36547C3D0BEBF /* YYTextEffectWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D190164465C91A9309173CCE20C5764 /* YYTextEffectWindow.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 252 | - 9A0E1A1BFFD28A2746792BE8D568E3AC /* SDWebImageDownloaderConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 22D6E01939BAAB30A2190ACA1D161CDB /* SDWebImageDownloaderConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 253 | 271 | 9A4B6430A6C62258BEE1D59C9F32A3CB /* NSDate+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = A27A22E1F51A515951549616C10A4D43 /* NSDate+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 254 | - 9AA98747F0FFCB4629345C58F9DFF9A2 /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EB6A999880D99C4B8EAE70EC4D73221 /* SDWebImageCompat.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 272 | + 9A63822674C925980BCE24CF9162F224 /* SDAssociatedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 507EA85A920020FD53FDF4A254A318F9 /* SDAssociatedObject.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 255 | 273 | 9AB3FC2B00EE9E46D879EA2A9DFA6F08 /* NSDictionary+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 36E435B666CD79060C4FCDA32BA104A7 /* NSDictionary+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 256 | - 9BE4B66909D27FA2DEE5D7B4DAF83DD5 /* SDImageCacheConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = EBAB61DD2D434A28A27FC5DFC9B7D499 /* SDImageCacheConfig.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 274 | + 9B0ADFBD0EE010BC1AE32B290FAF2D70 /* SDAnimatedImagePlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = DC9B7833ED252B3A3CDA8CD870E5136B /* SDAnimatedImagePlayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 275 | + 9B9C593A401B16CA1F27613B33259116 /* SDWeakProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0786ADD48518359C5D9C950902C74B70 /* SDWeakProxy.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 276 | + 9C39FA3EB2A9462B249432F655FC9AA8 /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 165A9BD2C6ABE7C53969D2E146053DCC /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 277 | + 9C6F61B6DD8964A03128BB996BCCCDF5 /* NSImage+Compatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D134637245A1D1291AEBC7FA27654E /* NSImage+Compatibility.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 278 | + 9CBF5A5EFC5491417ACEF9D2D6F604DD /* UIImage+Transform.m in Sources */ = {isa = PBXBuildFile; fileRef = 77BDAC0316DE945EDC00877B001E3F13 /* UIImage+Transform.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 257 | 279 | 9CC0EAE583AE53B63027C788AE199A3A /* UIImage+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = E515123172BB360DF3179CFE108F842C /* UIImage+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 258 | 280 | 9E9EF2A2744A9618CBCF3130012C9C83 /* YBIBAnimatedTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = 780BD6CD409902FCCA79E07B8449B0DB /* YBIBAnimatedTransition.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 259 | - 9F45ED51FB250F999DF9EEE26706306F /* SDImageTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 78D88E09C574752B379AC19B8561A84F /* SDImageTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 260 | - 9F69D6D21857F40138D7EF02C9934F61 /* UIImage+MemoryCacheCost.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C27D070CBE7191DD5328960C7C772E /* UIImage+MemoryCacheCost.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 261 | 281 | 9F72C9269F972EEC75FFB02E1B006D75 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A607C9A3CDD44ED7C4A717482C4D60A3 /* UIKit.framework */; }; |
| 262 | - 9F8771C9472203AC8A6B882D32E081FD /* SDImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F882F7E87C969BC4F446959C4C96507 /* SDImageLoader.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 263 | 282 | 9FB67DB92440E1D202FA1D557981970C /* YYTextDebugOption.m in Sources */ = {isa = PBXBuildFile; fileRef = E904FC5D8903C2F05EA80AE4EB158849 /* YYTextDebugOption.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 264 | 283 | 9FFD301A8B71CD3BBAF1B47ABE706FB3 /* YYFileHash.m in Sources */ = {isa = PBXBuildFile; fileRef = 8475110C42C3E42DC61F264C6BE773D6 /* YYFileHash.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 265 | 284 | A0C1E82073BA9A8D5944BEFE15AEC8AD /* YBImageBrowser.h in Headers */ = {isa = PBXBuildFile; fileRef = F871C4EC920DBA02D64392716E35FB37 /* YBImageBrowser.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 266 | 285 | A0E47F627106545F7381B76B458ED35D /* YYImage.m in Sources */ = {isa = PBXBuildFile; fileRef = F223C16A87C557408148C7C83CCB705A /* YYImage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 267 | 286 | A111957E65E970F7FB802F36D821EA1F /* YBIBImageLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 7310856B16CA1367B57B8768F5EBC3E9 /* YBIBImageLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 287 | + A1B62D4B373543D743AC938090EF65F2 /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A20F815CD4F1A80CA68C34C3039D331 /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 268 | 288 | A1F850A263BA608683661E1BA3064F24 /* UIFont+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = D7D005AD047909BDCC633A8A2F44C3E0 /* UIFont+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 269 | - A24ECE056F5DC1A130E45CD9DFDDAE9D /* SDWebImageDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = EB79E7A300B9098CE8EED7EB98A1E5AA /* SDWebImageDefine.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 270 | - A522F73D14A2CB4DE43E00754C6D504B /* SDImageGraphics.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF8FE9BD2DF30E81C73D0170BA7C814 /* SDImageGraphics.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 289 | + A26011648EA7CD910788DBBF08C36F32 /* SDImageCacheDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = A1CF482AD1045FF137E38C654A5C5F0A /* SDImageCacheDefine.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 290 | + A3A38FFF99F8F65D21F6526D4D257230 /* SDWebImageDownloaderConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = BE3ECDB29BE68019FD7DE942E2F58BD0 /* SDWebImageDownloaderConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 271 | 291 | A5751911414FBB4525BA661301645A33 /* NSArray+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = A081063D9132D39C1E65F619E8E08758 /* NSArray+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 272 | 292 | A5D50A13E2D93699A6EA10827F821ACE /* YBIBImageData.m in Sources */ = {isa = PBXBuildFile; fileRef = 98AD2B257D836F916F990B6EA6B2E153 /* YBIBImageData.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 273 | 293 | A6985B155E19B64987FD68C5F251A1BC /* YBIBToastView.m in Sources */ = {isa = PBXBuildFile; fileRef = A57EE7627E17C473032D3846ABCB164A /* YBIBToastView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| ... | ... | @@ -275,94 +295,99 @@ |
| 275 | 295 | A6EE9E0154F607481961BCD392381B7F /* YYTextArchiver.m in Sources */ = {isa = PBXBuildFile; fileRef = 7975F0485F6C6908DD6A4D47F50E9D35 /* YYTextArchiver.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 276 | 296 | A7163439672A8E432F330594FBD927D2 /* YYTextDebugOption.h in Headers */ = {isa = PBXBuildFile; fileRef = 854385CF82D745F34597998325666C1D /* YYTextDebugOption.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 277 | 297 | A7F1C07DCA2C79499E38A78F4C823B88 /* UIControl+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 670ED4D099B5B4C894DE0935874915F0 /* UIControl+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 298 | + A8F9213841A1696CA4E3BAF5B0836F43 /* SDWebImageDownloaderRequestModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = B75EE1C0C625093DB3961800DCB992E6 /* SDWebImageDownloaderRequestModifier.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 278 | 299 | A912BA340CE09249C7782B1FFD1365AB /* YYTextMagnifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 88CA615592156E78420567B5D69F5B66 /* YYTextMagnifier.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 279 | - A93168D1B8FE647836641A8FD0960D3F /* SDImageLoadersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D5EFE1BA58FE69FA738DCB9784D3B2E0 /* SDImageLoadersManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 280 | 300 | A96436D0FB439F1F9716DAD1A565FC3F /* YYKVStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = B5756A1321B21D96C7A1AE0F5C4285AB /* YYKVStorage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 281 | 301 | A9BFCA6D140CE8D9F0F30D2D5AF1D3E4 /* YYKeychain.m in Sources */ = {isa = PBXBuildFile; fileRef = 2472289EA21A4524121647E98565507F /* YYKeychain.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 282 | - A9FB0B1C38B3DF1982D4D8F8B3B99A4E /* SDImageGIFCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = FB9F487DEA2EE1223E588AF5B7968BBC /* SDImageGIFCoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 283 | 302 | AA02D1FC38F23E8ABB8437B0B319FE8F /* NSNumber+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F0147BF35758A94C20B1F24F24622BB /* NSNumber+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 284 | 303 | AA30113B879D83233709E1B94AA29896 /* UIApplication+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = B452E9B587B86C63EE21311C07C2F204 /* UIApplication+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 285 | - AA4B92512944686F23ABE5632656872E /* UIColor+HexString.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E4DCEAC007F7F72A2323A6304B0F4A4 /* UIColor+HexString.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 286 | - AAB78C68578015956BFE8A56A7E02BA7 /* SDAnimatedImageRep.m in Sources */ = {isa = PBXBuildFile; fileRef = 45487E9C2D9132F54E6DD142FDADCBAF /* SDAnimatedImageRep.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 287 | 304 | AB59B214692AA81FF6315061758603C5 /* YYImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E3CBF57D127E6A6C4FD252662C1ADC0 /* YYImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 305 | + AB811350CFBFEC402845394DFB11C5B9 /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B31C91F7BAC29DAB475F9F033793951 /* SDWebImageDownloader.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 288 | 306 | AF9F20516033D3A05DCC8E8315E30732 /* YYWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C71F70A09014858351E0D2BA6885014 /* YYWebImageManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 289 | 307 | B06B32BF6913B604CD51DAC2D7588891 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 78B7E54CA0E5B57763E180DBA69E47AF /* CoreFoundation.framework */; }; |
| 290 | - B0D15842F6D9B27F7E656D6A3D715329 /* SDImageCacheDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = D3B294F209BE90C307D3B79D646A580E /* SDImageCacheDefine.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 291 | - B1635A0F2A9E883F5F9478F04F5F9B00 /* SDWebImageCacheKeyFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C68FD0A33D48BF8511F5E1F0AF5F38C /* SDWebImageCacheKeyFilter.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 292 | 308 | B1AB6D5391A7C80D83FB9A89E8AF6623 /* YBImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 25741E0D4DAB65C050394B8B05242DD3 /* YBImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 293 | 309 | B2105ECF2F00C51A3EA501A3D674DC5E /* YYFrameImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 49508D684CC827AE070DD761E831114F /* YYFrameImage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 294 | 310 | B2187DD11B7BE581B5D3C98681AD1FC6 /* YYWeakProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6107B507ED75C5E7304F9AE9131E04CB /* YYWeakProxy.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 295 | - B241B25BC7903216B219BCFDD5533ED2 /* SDInternalMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = D0BFF09BFCD201810684D60E49FC29B3 /* SDInternalMacros.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 296 | 311 | B24E0712943BC8C9C7DA39E71877DE59 /* YYTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = AF275D767348041345B5F9C14D9D9CA0 /* YYTextView.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 297 | - B27865F2F8513D2BAF80C119865014B2 /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BAFBDA5FBFB046872240DAA694DBA9D /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 298 | - B2D122DFC079570A5A257B8FEFE1CF4C /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 604FBD4A36B51CB23593D6E7144E0A66 /* UIButton+WebCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 312 | + B34DA9789249B559F7D135CDC3D4FD77 /* SDImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = C9B03AE8F74ED6BF9967696B1F29AC24 /* SDImageLoader.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 299 | 313 | B3D231FFA03E5AD08EA9DB95CC280BF9 /* UIPasteboard+YYText.m in Sources */ = {isa = PBXBuildFile; fileRef = C5ECB9A46117BBECE7ED798130B798AA /* UIPasteboard+YYText.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 300 | 314 | B43AF7085746A2EDF63AC0561FDC5760 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3BDA601294E211EE3B9CBED6DC267A5E /* QuartzCore.framework */; }; |
| 301 | 315 | B4A6A89B7C7A07DEF548DF0821A5D2A6 /* UITextField+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = F72C19B1352F5752908C2B4982AD0FE4 /* UITextField+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 316 | + B52576B08EFC9D67F218CC2DAC542AF4 /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = A2B670A4915027A69D8298ABAE7832C5 /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 302 | 317 | B580D3F3050F9BB858FC126353306F2E /* YBIBImageScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = 18D018046653E9BB9680EF2CF10C5FF7 /* YBIBImageScrollView.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 303 | 318 | B5EBC0334766A76DCFF0C05798C37150 /* YYReachability.m in Sources */ = {isa = PBXBuildFile; fileRef = D233F6DF8E8D5110BD7F6E76747F33D8 /* YYReachability.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 319 | + B6A52B7697F15B487F846F3DA1CB3896 /* SDWebImageIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 176BE9B96FD0004A2FDAD77CA2B59BEF /* SDWebImageIndicator.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 304 | 320 | B6B29A71C36975429AB1368727403423 /* NSNumber+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 7355C552B642A7D227CB76CDCD03E2F8 /* NSNumber+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 321 | + B6B6619A760B666DE47643F684DCF92A /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 82CFF2AD22CF5568454DF140CCC1FBC4 /* UIImage+MultiFormat.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 305 | 322 | B6C28098B1907228C45A14E207D55AFE /* UIImage+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 88B3D662CF91D27FFEF32389911E85D0 /* UIImage+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 306 | 323 | B7AC252781ACA15FC73AF12490F21160 /* NSTimer+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 3CE22FC473D05C3D81125FB08264318F /* NSTimer+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 307 | 324 | B7D446CF8E8826A56E6D15929115BE04 /* YBIBGetBaseInfoProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = B7C9B42ACA0B5782A356C5AE7A908B3F /* YBIBGetBaseInfoProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 308 | - B81B452FC4B5B6F7812022013E0050F9 /* SDImageFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D7D182C7944184D8687D02BC5895C8A /* SDImageFrame.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 309 | - B9EAA2FEBC24879CE426A200D1943850 /* SDWebImageOptionsProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E7D951E27DDF1D0327C691AC350863B /* SDWebImageOptionsProcessor.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 310 | 325 | BA6F7BA03B9D0D30084C3ADE291F6473 /* YBIBVideoTopBar.m in Sources */ = {isa = PBXBuildFile; fileRef = 26B0E0EAD79931B3B4465C9353F4AEE3 /* YBIBVideoTopBar.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 311 | 326 | BC58E6F1DB34E6D18AC043F147EB68A5 /* UIScrollView+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 0849338E27EFD23893C5843535A67BD6 /* UIScrollView+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 312 | - C15872A8795C18D17D7CB78D0D2AF5A9 /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BF16A9C9A9AF5DDC141A40D41D0467E /* NSData+ImageContentType.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 327 | + BD1CC866FEB3E8226394BA640E7FA900 /* SDImageAssetManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C715A63047EF7CF84A44FC37DB4E919 /* SDImageAssetManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 328 | + BDACD97A89128CDAECEE9F2C66A68041 /* SDImageCodersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E26822C5FA7DDEE80076B4E7C2728A9 /* SDImageCodersManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 313 | 329 | C15CF0D0B7F57A8BB9EDA5F3A0EB4415 /* YYMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = E8D8F6D1F22DBBBCE9CEB97BF76ED5F6 /* YYMemoryCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 330 | + C32C3C747D6831244FA97E55D7EBC211 /* SDWebImageError.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A70D2708290382BD7D9078C968FDBFD /* SDWebImageError.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 314 | 331 | C336129A2AC12AEED1703E6863707C69 /* NSObject+YYAddForKVO.h in Headers */ = {isa = PBXBuildFile; fileRef = 52BE96D687228A93E19263F07010C4F8 /* NSObject+YYAddForKVO.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 315 | - C50CAA073FFEC5DFDB16A59830E97C95 /* SDInternalMacros.m in Sources */ = {isa = PBXBuildFile; fileRef = 565EA3FF9DE0069950D12760CD92E6DF /* SDInternalMacros.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 316 | - C60409B7C6D34D479F3DC7157194706B /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 6821ACBD9902AD3AEC5766052616BEFC /* UIView+WebCacheOperation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 332 | + C71E6525587D5FFE318A222C092FA6AE /* SDWebImageIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = F71C63A56CAAF9072729B55B779D9414 /* SDWebImageIndicator.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 317 | 333 | C78E2BB89633512E1E77690E47840731 /* NSString+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 200049C9763118B9DADAC88FB3401C9D /* NSString+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 318 | - C8719B604AC23450E05D0E2F5716C8EE /* NSButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = F59687F8773BB30C3383C0C4473BA5A9 /* NSButton+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 334 | + C854CD2F89E00E88FB1D6669A770DEE0 /* SDWebImageDownloaderDecryptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F0B0EB007B67E5D110E4AA7E75CC5E8 /* SDWebImageDownloaderDecryptor.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 335 | + C88E97ED465D3973A3D9FD7AE94BDB9A /* SDImageAPNGCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = E1FACAD68445DC5C8232A29CDDE00106 /* SDImageAPNGCoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 336 | + C8D1A63DACC1ED208C203641C69EEEF1 /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 03C7B13F9A65433A2099280BB0853B83 /* UIButton+WebCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 319 | 337 | C907A97665955ECF4DDD418449F11390 /* YBIBScreenRotationHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 34FA97BD63CC23B9293C28CC94F1935E /* YBIBScreenRotationHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 320 | - C926C81B2AE4D970FF43FA6854DF11B3 /* SDImageGIFCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 29332085AB2D0312202A5E4DA9903355 /* SDImageGIFCoder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 338 | + C94DE8F907543852C6C5311CE0A2752A /* SDWebImageDownloaderConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 255A9E38BCE069FD5BD5AA7B2554059D /* SDWebImageDownloaderConfig.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 321 | 339 | C9D04AD8C1E863F36DA77847B7DC00FF /* YYTextContainerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F3722F221BDAC94870B0E9231FE44B7 /* YYTextContainerView.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 322 | - CA2A04B40C4584BB62EDF451D4691393 /* SDWebImageDownloaderRequestModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 82DA1AE31B883B0A558F1A7C451C5411 /* SDWebImageDownloaderRequestModifier.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 323 | 340 | CA376D8F23487BDFB24C801D2317FD4D /* Pods-YBImageBrowser_DSCnliveShop_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 44A8AA845C7A4050F81BBFEC526B2B62 /* Pods-YBImageBrowser_DSCnliveShop_Example-dummy.m */; }; |
| 324 | - CB6B765C0485EA0801AC5AD27B988336 /* SDmetamacros.h in Headers */ = {isa = PBXBuildFile; fileRef = ACDF74FCCC69765D4B60B3DBEC369C3D /* SDmetamacros.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 325 | - CBEDB718B4AB4391588A9347C9F03C4A /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C86D29287795201B7A91BA858DBC2FB /* SDImageCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 341 | + CAD57C741FFBC3EBCA19E4F1891E4FDA /* SDWebImageOptionsProcessor.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A1019E03A5B1C662AEA03A27BAD9451 /* SDWebImageOptionsProcessor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 342 | + CBA469E2DD8702DECB634A81F850C516 /* SDWebImageDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 3103E35D6924D70FC117A1BFA21077C8 /* SDWebImageDefine.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 343 | + CC1B7B642CBAEA58A27D410B329E5FFD /* SDImageCoderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = E94B7142D84F4E7AD5A126B60C5056AA /* SDImageCoderHelper.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 326 | 344 | CC66D7F8BA25145CFA356804A0482B18 /* NSKeyedUnarchiver+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = BE4A801C5A9481E70AE53035D5B98760 /* NSKeyedUnarchiver+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 345 | + CCEF1E548BE78064BE12CC29D9977A28 /* UIImage+Metadata.h in Headers */ = {isa = PBXBuildFile; fileRef = C54648ED166C9850805DF18B9BF1A305 /* UIImage+Metadata.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 327 | 346 | CD03525AD1F8D60C1C0AC8297DE34E11 /* YYTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = C8FC24C723EADE5F3C5975BE2907EB1E /* YYTransaction.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 347 | + CD06DC5FCA424D8A0928068BEB8AF2E5 /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 491254BCC101B0465D55540272375AB3 /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 328 | 348 | CD7563B5139A26E5B8B2587E0D658705 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 666F2A06D9CC71D500B577D3F48163AF /* Foundation.framework */; }; |
| 329 | 349 | CDCE6593D130D8CDEDF0B621B0205E1A /* YBIBIconManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 243FDB361CEF50A59E549280ECDFF076 /* YBIBIconManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 330 | - CED0ADFAFACBD8EAC91D8FDFAD72CC3D /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 92986682144C6A680D1688CC72DB03EB /* SDImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 331 | - CF5BBB5AA6B556A33F0FD0CBF107B538 /* SDWebImageCacheKeyFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C89C4C20801869E17ED28D5BC0002C7 /* SDWebImageCacheKeyFilter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 350 | + CF1AA8850ED16C5F49B61BC3A9B13DD7 /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = E5A710E84F3BA6FCB0CFF41E78AD5CBD /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 351 | + D0725567B7BD18C79A04E5EC9C72249D /* NSBezierPath+SDRoundedCorners.h in Headers */ = {isa = PBXBuildFile; fileRef = 8811346772E1C5599090A46F4A2D8681 /* NSBezierPath+SDRoundedCorners.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 332 | 352 | D0C427F2B55EA4B9699DC5021958111C /* YYWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF70C32E733B22D48AF84D60FF7B02 /* YYWebImageOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 333 | 353 | D0D66AD4AB7E3486337F71C17BF3AD57 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D1A59D21F9903431B185E3E4DF0AFFEF /* CoreText.framework */; }; |
| 334 | 354 | D0EE21B9D50E334EAF1A380286222F0C /* NSObject+YYAddForARC.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D38FB225790DDA600C42DF52D9CC17F /* NSObject+YYAddForARC.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 335 | 355 | D117372BE748F203CB46905AD37E4068 /* UITextField+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FC28E23CABD3BDE6EAB1ACECBE0303A /* UITextField+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 336 | - D4C9FCF4108BF46522DA445E47524A6A /* UIImage+MemoryCacheCost.h in Headers */ = {isa = PBXBuildFile; fileRef = 45EBF80603A6BB114FFDF460A6A20CC7 /* UIImage+MemoryCacheCost.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 356 | + D2EDDDAA1E3498604C570DA06526C7BA /* SDImageFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = D2BF5A3EEE1A287B05D28198D9F16C76 /* SDImageFrame.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 357 | + D347FCF56E468483A546E1F611DE081C /* SDImageHEICCoderInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = C263B2AFBE7F6297AC0A2DD306AE5B6A /* SDImageHEICCoderInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 358 | + D43B9E05CBF3046EB696F0357E263B54 /* SDAsyncBlockOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = A7D32E803217C60CD15496E8FBD13FDF /* SDAsyncBlockOperation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 359 | + D4F67B56B3A2910031B248E07BC0FF9F /* SDImageGIFCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = C758F6AA3BEFD52D81A2E68FD89C92BC /* SDImageGIFCoder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 337 | 360 | D69F7D5FC2B9F449EFD85CD54B17E575 /* YYKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F8E8FC3A2C5BD919F913AD5ED4E1EAC /* YYKit-dummy.m */; }; |
| 361 | + D6FDFE95CEDBD0A41D4E16FDB1599FA9 /* SDImageIOCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DC1F761B34C39B4907D5DB70157ABFC /* SDImageIOCoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 338 | 362 | D7C4871BB56F79A08300DD66AFDCF5DE /* YBIBVideoCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 52B62F0134660F292CE152D8E39947BD /* YBIBVideoCell.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 339 | 363 | D827404302AC7E95F7667CC14AE08594 /* YYTextAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = 57078E9B88965F537213B04FEDA909B2 /* YYTextAttribute.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 340 | - D84BE358D7B1195BCA3556D7A0003968 /* UIImage+Metadata.m in Sources */ = {isa = PBXBuildFile; fileRef = C090D5ECCFD39D2D4DF00BFB1D9DAB81 /* UIImage+Metadata.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 341 | 364 | D92524C9E26C07719E07A9786B6B7892 /* SDWebImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C33607D6BC000651FEC30D2EED376D88 /* SDWebImage.framework */; }; |
| 342 | 365 | D96C39BA6D0884492E921E34AE5A1C66 /* YBIBVideoData.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C3487B98119240E45C8448E84C5F249 /* YBIBVideoData.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 343 | - D9B0AE61DB0C28C1A453C57DBAA9894C /* SDWebImageDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = BBC835DD376D230B30079993F2F5CDAA /* SDWebImageDefine.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 344 | 366 | D9F2C1489EE9A0E4071E01C3ACC142F2 /* YYTextKeyboardManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A177B060DEA91DB2671E9EACA4576579 /* YYTextKeyboardManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 345 | - DB7CB011D38A0CF4CBA6380FF04F0B61 /* SDImageIOAnimatedCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = C54E545CC107D12C2F5AA2887BAF107E /* SDImageIOAnimatedCoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 346 | - DBB84BD7F62230F01B7533CF5DB8E2B8 /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 645FAD055E96DC89E3CF7A287A4B4F87 /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 367 | + DA1F5EB06521252BF63369AFEF914368 /* SDWebImageOptionsProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = D60E08CE2DF723239081CE2F04FA6324 /* SDWebImageOptionsProcessor.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 368 | + DB42064F83C6224213B940B249FC26FF /* SDDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = C36986E68072E6D37FC44159464E6E63 /* SDDiskCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 369 | + DCDC5264F294AB9A622D368F2F7FA336 /* UIImage+Transform.h in Headers */ = {isa = PBXBuildFile; fileRef = 615E0DE04702B1FE637909AB79E77479 /* UIImage+Transform.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 347 | 370 | DD25E262CDFAD075F62392B989CA6F4B /* YYSentinel.m in Sources */ = {isa = PBXBuildFile; fileRef = 264A3613CC394403F6228A3FD0B83D06 /* YYSentinel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 348 | - DDA63B6A16CAEC9EDAB8721409ED65EF /* NSImage+Compatibility.m in Sources */ = {isa = PBXBuildFile; fileRef = CB33D1B5F3A87441C78240849B1BD409 /* NSImage+Compatibility.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 371 | + DD784DFACF8863C7D46B9054B0DD7C42 /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = FCDCB1EFEE1048CBC6179F66B7E7E6E9 /* SDWebImageCompat.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 349 | 372 | DDD32790B4BCE5190906DEEED75A5860 /* YBIBVideoData.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DF359196C08E19807F14F0B35AC0E0C /* YBIBVideoData.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 350 | 373 | DDE5067059454F98CD6B2426D61716F7 /* YYAsyncLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B19431AF11994E0CA59423A7DAE3628 /* YYAsyncLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 374 | + DE311CA167D40330E2B71F4726A6B789 /* SDDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D17D294A9F7DCF9895D5A3337D8B886 /* SDDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 351 | 375 | DF369A9EB40F06EEB590C41610BA2A10 /* YYTextRubyAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = 517A0A3DCA0C56126084B689FBE105E9 /* YYTextRubyAnnotation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 352 | - E05830BFF728135BC1A3FCD86B02AFED /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = A3F033ABEC9F3EFAA01FDA65E76374B4 /* SDWebImagePrefetcher.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 353 | - E159EA4B9CE7CA4EA7CC422F1BB359D0 /* SDMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA9751DEFA2CAEA416E397CD0197E4C /* SDMemoryCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 354 | - E1A13F65E327E70ED0A0322ED9D4E004 /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = EBC3A38B3CF4356703DC4ABF85E1FB8C /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 376 | + DFE7857272AA4CDEC686248E790174F9 /* SDWebImageCacheSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3CA0E2F59E86C22963A7F42A601D4D9D /* SDWebImageCacheSerializer.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 355 | 377 | E2AC119414A24C6B254F4EFD910B6364 /* YBIBImageData+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5356E679669AF6B1D86C87ED02DE9228 /* YBIBImageData+Internal.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 356 | 378 | E321AD2370258DCF759B1C35DD419F41 /* YBIBOrientationReceiveProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 162ED1D7AFB75ACCB3368BC29019D8E8 /* YBIBOrientationReceiveProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 357 | - E4C4C17E15D7F01D31091341E3B22767 /* SDImageCoderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DE00CB7B46BD9384E27CFF44A22F3D6 /* SDImageCoderHelper.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 379 | + E48B7D3309D22470B53A3EB47B6577E7 /* SDWebImageDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 7025B67B4A01BBCCCFB1958DC25846D2 /* SDWebImageDefine.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 358 | 380 | E655FF4E00EF146816A4A40588F91180 /* YYKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 75DDFEB8B1AD695874CDD5C0116D3C02 /* YYKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 359 | - E807BB2D53EF822DDA0109BEB8F33F4B /* SDAnimatedImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 458C3BA863BEC4A0D1766E7096A16EF8 /* SDAnimatedImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 360 | 381 | E932BE7F6FC5497A6F685D0EF875A817 /* YYSpriteSheetImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 220E77F927A6690D18D2E5FD80F7BE63 /* YYSpriteSheetImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 382 | + E9B97B2FD84DF4015AABD7E5978A710F /* SDImageCachesManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E05A254217112511844A5ABAEA26D88 /* SDImageCachesManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 361 | 383 | E9E7E25145EFE32065FFB8232DC42D8E /* YYTextAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = A0964A9B921F37553978DBD848A921DC /* YYTextAttribute.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 362 | - EBD6DC15D9DA29829CD9A5BA5F2B2A76 /* SDImageGraphics.m in Sources */ = {isa = PBXBuildFile; fileRef = E2F6363B89177C5ED56B90058D1B1B9A /* SDImageGraphics.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 363 | - EC2A8CA5F7249A4197E707E8008C2CAF /* SDWeakProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = EDCF5C73C34D7FE7CBD5AEC45E26DD16 /* SDWeakProxy.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 384 | + EA50654643EF702D7F2DD17534459EAB /* SDImageIOAnimatedCoderInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 8582059F08F05B024B1E63DB97E6FC3D /* SDImageIOAnimatedCoderInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; | |
| 385 | + EA5AE4148E9B9228E70EDB7F575D111E /* SDWebImageDownloaderResponseModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 0804ADB1BA257EF0FBCE5877305E5CBA /* SDWebImageDownloaderResponseModifier.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 386 | + EB634403E13B36687931F62769C04F66 /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = DB7A93383CAC54408CD5E5B395011B2E /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 387 | + EC14B2E8E460DFC2E4EB78A9FC10117C /* NSButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8603634C14CA0EB02BA831268B0C10 /* NSButton+WebCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 364 | 388 | EC8034BDEF204F42C1F8FD47F69C72C2 /* YBIBCollectionViewLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 74CE5CC75231FB5BA4F8EB1071D6A3B3 /* YBIBCollectionViewLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 365 | 389 | ECAB0BF105639461A59A044E08301859 /* YYTextParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 4509C09CF0DD15FBEB1EAF90400333B3 /* YYTextParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 390 | + ED388349310FF50899F3AEB5E2DF0500 /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 6721C57EE2049316FC7DFA0EC2F61B33 /* SDWebImagePrefetcher.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 366 | 391 | ED419C4C5639D374160458959782CECC /* YBIBImageScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DEB9108C68D52B1B6E58D88118E1BCA /* YBIBImageScrollView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 367 | 392 | ED434BACBB1031EB88803A3F3D53D0F2 /* NSDate+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DE54B8C45B333743F49C490C8A51D59 /* NSDate+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 368 | 393 | EE483E73A32B03DDEAFC3D0C7D23A998 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 826A0D9FB100D729C86AB5FF081F6521 /* Accelerate.framework */; }; |
| ... | ... | @@ -371,7 +396,7 @@ |
| 371 | 396 | EF0747F501C75F83DED72B2790BE5B5F /* YYTextRubyAnnotation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F845FF4245B2F5F6327C08F01B5738F /* YYTextRubyAnnotation.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 372 | 397 | F007745FE5F7A414A2DBD361AA8CC41B /* YYKVStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = F8D3E6C92E8F4DF67950E0380B5C4AD1 /* YYKVStorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 373 | 398 | F01C35CC142BDBE879078A8E52D9DED3 /* YBImageBrowserDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = DE1BA937D17936A4E8CC48CCF258E498 /* YBImageBrowserDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 374 | - F0AB74AED6D7C008445C01678F59B54D /* SDImageAPNGCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = F4BDDDF94411952465D7BEFFCA8B5C29 /* SDImageAPNGCoder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 399 | + F045BDBF956B9EE5340F3225336EDAC6 /* SDWebImageCacheKeyFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 92D743407EFB5C298F8E9856F618DE87 /* SDWebImageCacheKeyFilter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 375 | 400 | F160637862E5B0125D069F7929777F1F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 666F2A06D9CC71D500B577D3F48163AF /* Foundation.framework */; }; |
| 376 | 401 | F21C9E78F6663605A36593123F851ECF /* YBImageBrowser.m in Sources */ = {isa = PBXBuildFile; fileRef = E1BB297824FFFF51C70FA022B56A9D4F /* YBImageBrowser.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 377 | 402 | F2A1EDFD9B0498CA877D75380EB946AB /* YYCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 074CC9782671ADCAC40FE44E9B57EB2D /* YYCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| ... | ... | @@ -379,7 +404,7 @@ |
| 379 | 404 | F3A055F58CF9B5A694EB4AABA1E51B11 /* UIScrollView+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = F891D9C6F80528B90027D56EA36CD7DA /* UIScrollView+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 380 | 405 | F3F08BAB397CD4760A921D6FFAB91D09 /* UITableView+YYAdd.h in Headers */ = {isa = PBXBuildFile; fileRef = E0EC1E067A40BD358E24914526274E18 /* UITableView+YYAdd.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 381 | 406 | F41DB7D94F86FC028BB3765429E83496 /* UIImageView+YYWebImage.m in Sources */ = {isa = PBXBuildFile; fileRef = A84A5680B20A545C99B07392B9AA4B21 /* UIImageView+YYWebImage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 382 | - F4A2A3265060EE0EC36AE153BA2F11F1 /* SDImageAPNGCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = CB003CB825038F390A91BFD066D5DC11 /* SDImageAPNGCoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 407 | + F4BE0CAF1D4BF04D766DB4A25AE4A4C2 /* UIColor+SDHexString.m in Sources */ = {isa = PBXBuildFile; fileRef = 1062A5D5F16F52CCF19B547AC48CFF6B /* UIColor+SDHexString.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 383 | 408 | F51107CAE592A67C12F6A654AA9DE72B /* YBImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 3236EA97B14313391E71CA2593DBB697 /* YBImage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 384 | 409 | F57BB6C1959FC38F369D20C3D6280478 /* YBImageBrowserDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 332163CABE8CA20F1CDE74064906F999 /* YBImageBrowserDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 385 | 410 | F6B4A873DB7EFD81739BB935180213F3 /* YYSpriteSheetImage.m in Sources */ = {isa = PBXBuildFile; fileRef = B9C280A5938040751695347877F4D8C2 /* YYSpriteSheetImage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| ... | ... | @@ -387,21 +412,16 @@ |
| 387 | 412 | F70B261CE6AF733A33E7AF41C5D96628 /* YBIBDataProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 73F109F39280C7548AA77C244ED5675B /* YBIBDataProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 388 | 413 | F7532455FBADCB4B6D671A76A015BCDF /* YYGestureRecognizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 12443FCD2F18C4DFCA505874F97F9BB6 /* YYGestureRecognizer.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 389 | 414 | F7952C8743A3C3698661727A575F134A /* YYCGUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 90A4B22BA3CB13452A0C80DA86A84A42 /* YYCGUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 390 | - F7C220B780BE3FFD43D49EB09A4AA120 /* SDAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = D25E5ABBC1DC5FB5597B7FD6AF7395A6 /* SDAnimatedImageView.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 391 | - F855CDFE0F0B48A22F8F0B4CD25E3F2A /* SDDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 17822DDCEE5C075412F1B1A731F006F2 /* SDDiskCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 392 | 415 | F881E7F260550EEED2EC9C45749BFC7B /* YBIBContainerView.h in Headers */ = {isa = PBXBuildFile; fileRef = F73A399C03844F00743876DD304D6F5F /* YBIBContainerView.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
| 393 | 416 | F8F4D168EA046BD783E82D35CD3B114C /* _YYWebImageSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 52A857F7C6A4B03E17C6CC6873436387 /* _YYWebImageSetter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 394 | - F981FD60C717579B06FC77EBE5E3ECEE /* SDWebImageTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F4A5B2FFD435932DC069C91BA243B8A /* SDWebImageTransition.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 395 | - F9CD37EE6DD796D86FAFCE65C106D553 /* SDAnimatedImageRep.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F7A1C78766D1A651D4233A02DFD21C1 /* SDAnimatedImageRep.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 396 | - FA1132270226AEC00FD163A760F5BFDD /* SDWebImageTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = E8864E2BCB6F0A60BF7660FD5CA61884 /* SDWebImageTransition.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 397 | - FA626556DE0DB5DBE98269492EB9D858 /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E0438EB685599B92473E4BBB56C9271 /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 398 | 417 | FA6BA0853D951EDC88B27A2C94306C49 /* Pods-YBImageBrowser_DSCnliveShop_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 65851769AB362F92EB866E5610C88E6C /* Pods-YBImageBrowser_DSCnliveShop_Tests-dummy.m */; }; |
| 399 | - FB731F3EEA54F44A238FBBFED93D9974 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 42406C450631485B971273EE79B37A12 /* UIImageView+WebCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 400 | - FC5F561CA670D699F300DDA4FE2D8314 /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = FD9DAE7E5EAD3CA463241E107ADB319B /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 418 | + FC4DE0456F37E3F47195E5F969314E0F /* SDMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CDA24BB0F92E4A49AC0BE6BF22D67546 /* SDMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 419 | + FC5E54109CC0090D7CA4492C6225E5BB /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 2FBBBA584888406A53BBAB4C8E646119 /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 401 | 420 | FCDAE4EE1EF7F75A6D9E465032A3EE25 /* UIBarButtonItem+YYAdd.m in Sources */ = {isa = PBXBuildFile; fileRef = B70A20C0814370A0A1C72AE2E522CAEB /* UIBarButtonItem+YYAdd.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 402 | - FD42C3773D4CE1E4ED8BC78369EE4898 /* SDWebImageDownloaderConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B69A0F6649EAEED316A983843ED5614 /* SDWebImageDownloaderConfig.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 403 | 421 | FEB886C7ED26265911E85FEFEBA8891A /* YBIBVideoActionBar.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DBD9F3341AE38C875BBD42C62516B07 /* YBIBVideoActionBar.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 404 | 422 | FED2D036DCD6FF18C7AF6E251407E6B2 /* YBIBAnimatedTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 01D57BDAA3D3C2148F62CAB6FCFF0336 /* YBIBAnimatedTransition.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; |
| 423 | + FEF33326D4B5B59DFD0CA1DFAD4001FC /* SDWebImageCacheKeyFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C016044B645AE229C947C4E2E37F78B /* SDWebImageCacheKeyFilter.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 424 | + FFA5793DBEE9AB3CC5C01F5B6F0B1151 /* SDFileAttributeHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 615E844CC98D96DCD6F0EFE36CFF13BF /* SDFileAttributeHelper.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; | |
| 405 | 425 | /* End PBXBuildFile section */ |
| 406 | 426 | |
| 407 | 427 | /* Begin PBXContainerItemProxy section */ |
| ... | ... | @@ -464,86 +484,92 @@ |
| 464 | 484 | /* End PBXContainerItemProxy section */ |
| 465 | 485 | |
| 466 | 486 | /* Begin PBXFileReference section */ |
| 467 | - 0027B01676377B9218BE8AA537BDAA8A /* SDWebImageDownloaderOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderOperation.m; path = SDWebImage/Core/SDWebImageDownloaderOperation.m; sourceTree = "<group>"; }; | |
| 468 | 487 | 01925082D3D68AFAC34FD497668DDF52 /* YBIBTopView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBTopView.h; sourceTree = "<group>"; }; |
| 469 | 488 | 01D57BDAA3D3C2148F62CAB6FCFF0336 /* YBIBAnimatedTransition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBAnimatedTransition.m; sourceTree = "<group>"; }; |
| 470 | 489 | 027369B6DC1B43C3102AE522A00B351F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; |
| 471 | 490 | 03021F927B254ED434510FB85A91E7DE /* UIApplication+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIApplication+YYAdd.h"; path = "YYKit/Base/UIKit/UIApplication+YYAdd.h"; sourceTree = "<group>"; }; |
| 472 | - 03917DDCF8C121DD56B0AD9B603C2B9D /* UIImage+GIF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+GIF.h"; path = "SDWebImage/Core/UIImage+GIF.h"; sourceTree = "<group>"; }; | |
| 491 | + 03964B173BAD2879E938A697CDE23E58 /* SDWebImageError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageError.h; path = SDWebImage/Core/SDWebImageError.h; sourceTree = "<group>"; }; | |
| 492 | + 03A09A7D80E19CC940BE2323D0536D61 /* UIImage+MultiFormat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+MultiFormat.h"; path = "SDWebImage/Core/UIImage+MultiFormat.h"; sourceTree = "<group>"; }; | |
| 493 | + 03C7B13F9A65433A2099280BB0853B83 /* UIButton+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+WebCache.m"; path = "SDWebImage/Core/UIButton+WebCache.m"; sourceTree = "<group>"; }; | |
| 473 | 494 | 0501ADF2BFD7B3CD05199AEA120542A3 /* NSParagraphStyle+YYText.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSParagraphStyle+YYText.m"; path = "YYKit/Text/String/NSParagraphStyle+YYText.m"; sourceTree = "<group>"; }; |
| 474 | 495 | 05B6665B0FCAC9FA4988670409B6B9EF /* YBImageBrowser+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YBImageBrowser+Internal.h"; sourceTree = "<group>"; }; |
| 496 | + 060133C4A0CD84D7E43EA5A6AE35A7BA /* SDWebImageTransition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageTransition.h; path = SDWebImage/Core/SDWebImageTransition.h; sourceTree = "<group>"; }; | |
| 475 | 497 | 074CC9782671ADCAC40FE44E9B57EB2D /* YYCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYCache.h; path = YYKit/Cache/YYCache.h; sourceTree = "<group>"; }; |
| 476 | - 0847D06FD8D970FB3747D3FFE1EF1A98 /* UIView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCache.h"; path = "SDWebImage/Core/UIView+WebCache.h"; sourceTree = "<group>"; }; | |
| 498 | + 0786ADD48518359C5D9C950902C74B70 /* SDWeakProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWeakProxy.m; path = SDWebImage/Private/SDWeakProxy.m; sourceTree = "<group>"; }; | |
| 499 | + 0804ADB1BA257EF0FBCE5877305E5CBA /* SDWebImageDownloaderResponseModifier.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderResponseModifier.m; path = SDWebImage/Core/SDWebImageDownloaderResponseModifier.m; sourceTree = "<group>"; }; | |
| 477 | 500 | 0849338E27EFD23893C5843535A67BD6 /* UIScrollView+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+YYAdd.m"; path = "YYKit/Base/UIKit/UIScrollView+YYAdd.m"; sourceTree = "<group>"; }; |
| 478 | 501 | 09221948BA0D8609E66D29534B1637F9 /* Pods-YBImageBrowser_DSCnliveShop_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-YBImageBrowser_DSCnliveShop_Tests-acknowledgements.plist"; sourceTree = "<group>"; }; |
| 479 | 502 | 09D461072FB1F94116B94C3D35ADC919 /* NSKeyedUnarchiver+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSKeyedUnarchiver+YYAdd.m"; path = "YYKit/Base/Foundation/NSKeyedUnarchiver+YYAdd.m"; sourceTree = "<group>"; }; |
| 480 | 503 | 09FA23E05944FF1B0AD4A1CAE80AE86E /* YBIBCollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBCollectionView.m; sourceTree = "<group>"; }; |
| 481 | - 0AA629F1636B9E5C1E7779416F41894F /* SDImageLoader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageLoader.m; path = SDWebImage/Core/SDImageLoader.m; sourceTree = "<group>"; }; | |
| 504 | + 0A70D2708290382BD7D9078C968FDBFD /* SDWebImageError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageError.m; path = SDWebImage/Core/SDWebImageError.m; sourceTree = "<group>"; }; | |
| 482 | 505 | 0B392E50F95AAAED6E6AF60D7A6FBA53 /* UIColor+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIColor+YYAdd.m"; path = "YYKit/Base/UIKit/UIColor+YYAdd.m"; sourceTree = "<group>"; }; |
| 483 | 506 | 0BA7CBEA43C737A330D9608FE7806297 /* YYCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYCache.m; path = YYKit/Cache/YYCache.m; sourceTree = "<group>"; }; |
| 484 | 507 | 0C9EBF2F4721D7796CABB86E57141312 /* YYTextSelectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYTextSelectionView.m; path = YYKit/Text/Component/YYTextSelectionView.m; sourceTree = "<group>"; }; |
| 485 | 508 | 0D2681FA26C64223B316B544D77AA55D /* Pods_YBImageBrowser_DSCnliveShop_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_YBImageBrowser_DSCnliveShop_Tests.framework; path = "Pods-YBImageBrowser_DSCnliveShop_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; |
| 486 | - 0D7D182C7944184D8687D02BC5895C8A /* SDImageFrame.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageFrame.m; path = SDWebImage/Core/SDImageFrame.m; sourceTree = "<group>"; }; | |
| 487 | - 0E9E88F1E31A013B69A717855A9A782E /* SDImageCachesManagerOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCachesManagerOperation.h; path = SDWebImage/Private/SDImageCachesManagerOperation.h; sourceTree = "<group>"; }; | |
| 488 | 509 | 0EC1CFF6509F136C99FC9C20BC2F40A9 /* UIView+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+YYAdd.h"; path = "YYKit/Base/UIKit/UIView+YYAdd.h"; sourceTree = "<group>"; }; |
| 489 | 510 | 0F845FF4245B2F5F6327C08F01B5738F /* YYTextRubyAnnotation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYTextRubyAnnotation.h; path = YYKit/Text/String/YYTextRubyAnnotation.h; sourceTree = "<group>"; }; |
| 490 | - 0F882F7E87C969BC4F446959C4C96507 /* SDImageLoader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageLoader.h; path = SDWebImage/Core/SDImageLoader.h; sourceTree = "<group>"; }; | |
| 491 | 511 | 101F73BF4899F419E3CC133F2A9180D4 /* YBIBContainerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBContainerView.m; sourceTree = "<group>"; }; |
| 492 | - 106CDD63C990007C4EBED229576FD0E6 /* SDImageCodersManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCodersManager.h; path = SDWebImage/Core/SDImageCodersManager.h; sourceTree = "<group>"; }; | |
| 512 | + 102A8609FE38B44A4F04554766133491 /* SDImageIOCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageIOCoder.m; path = SDWebImage/Core/SDImageIOCoder.m; sourceTree = "<group>"; }; | |
| 513 | + 1062A5D5F16F52CCF19B547AC48CFF6B /* UIColor+SDHexString.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIColor+SDHexString.m"; path = "SDWebImage/Private/UIColor+SDHexString.m"; sourceTree = "<group>"; }; | |
| 514 | + 1072A8A4B2B89ECA95DD401CFB50F108 /* SDImageAPNGCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageAPNGCoder.m; path = SDWebImage/Core/SDImageAPNGCoder.m; sourceTree = "<group>"; }; | |
| 515 | + 115DF10AB89F4BD3959B0760E6FF7F5A /* SDImageTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageTransformer.m; path = SDWebImage/Core/SDImageTransformer.m; sourceTree = "<group>"; }; | |
| 493 | 516 | 1238AEB9DF5C8189A50C5E4E0B74DC2E /* NSObject+YBImageBrowser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSObject+YBImageBrowser.m"; sourceTree = "<group>"; }; |
| 494 | 517 | 12443FCD2F18C4DFCA505874F97F9BB6 /* YYGestureRecognizer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYGestureRecognizer.h; path = YYKit/Utility/YYGestureRecognizer.h; sourceTree = "<group>"; }; |
| 518 | + 1249E97F29FD39E6B5CA9DD3D122921C /* SDImageCacheDefine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCacheDefine.m; path = SDWebImage/Core/SDImageCacheDefine.m; sourceTree = "<group>"; }; | |
| 495 | 519 | 1252A4B51C377A0204EA817105C31367 /* YBImageBrowser_DSCnliveShop.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = YBImageBrowser_DSCnliveShop.debug.xcconfig; sourceTree = "<group>"; }; |
| 520 | + 12B66AB16766AB4060516E7814443E08 /* SDAssociatedObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAssociatedObject.h; path = SDWebImage/Private/SDAssociatedObject.h; sourceTree = "<group>"; }; | |
| 521 | + 13211B603D4A4D4D2724F2C5BB4407D3 /* SDImageGraphics.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageGraphics.m; path = SDWebImage/Core/SDImageGraphics.m; sourceTree = "<group>"; }; | |
| 496 | 522 | 13CCFEB0FA63FC0D2DCDF8E5B3E3CC33 /* YBIBSentinel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBSentinel.m; sourceTree = "<group>"; }; |
| 497 | 523 | 13EFE3DD1D702D85B36FB7D106BC163F /* YBIBSheetView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBSheetView.h; sourceTree = "<group>"; }; |
| 498 | 524 | 13FA3D010FCAB935A4C1E9CC535A7D28 /* YYImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYImageCache.h; path = YYKit/Image/YYImageCache.h; sourceTree = "<group>"; }; |
| 499 | 525 | 14462A5B7907FCC9A6CC6EAD33842356 /* YBIBPhotoAlbumManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBPhotoAlbumManager.m; sourceTree = "<group>"; }; |
| 500 | - 14AEC03CE74FA3C1ED22FD08ACDC489F /* SDImageCachesManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCachesManager.m; path = SDWebImage/Core/SDImageCachesManager.m; sourceTree = "<group>"; }; | |
| 501 | - 159B608142C5AD0E99E00479F64CDAFE /* SDWebImage-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SDWebImage-umbrella.h"; sourceTree = "<group>"; }; | |
| 526 | + 14EF33DBBD181973544221E30D2DC4B9 /* SDAsyncBlockOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAsyncBlockOperation.h; path = SDWebImage/Private/SDAsyncBlockOperation.h; sourceTree = "<group>"; }; | |
| 527 | + 14FC848A818168BBB863CFE049B98704 /* SDImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCache.h; path = SDWebImage/Core/SDImageCache.h; sourceTree = "<group>"; }; | |
| 528 | + 15DA0DE7F827744C2CD1C503B90ED22A /* SDWebImage-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SDWebImage-Info.plist"; sourceTree = "<group>"; }; | |
| 502 | 529 | 162ED1D7AFB75ACCB3368BC29019D8E8 /* YBIBOrientationReceiveProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBOrientationReceiveProtocol.h; sourceTree = "<group>"; }; |
| 503 | - 17822DDCEE5C075412F1B1A731F006F2 /* SDDiskCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDDiskCache.m; path = SDWebImage/Core/SDDiskCache.m; sourceTree = "<group>"; }; | |
| 530 | + 165A9BD2C6ABE7C53969D2E146053DCC /* SDWebImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloader.h; path = SDWebImage/Core/SDWebImageDownloader.h; sourceTree = "<group>"; }; | |
| 531 | + 176BE9B96FD0004A2FDAD77CA2B59BEF /* SDWebImageIndicator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageIndicator.h; path = SDWebImage/Core/SDWebImageIndicator.h; sourceTree = "<group>"; }; | |
| 532 | + 1780A6FB6896D6EE58CA176A32A91167 /* UIImage+MemoryCacheCost.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+MemoryCacheCost.h"; path = "SDWebImage/Core/UIImage+MemoryCacheCost.h"; sourceTree = "<group>"; }; | |
| 533 | + 17C2170C0DA7F6751732A3F6F2D3304C /* SDAnimatedImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImage.h; path = SDWebImage/Core/SDAnimatedImage.h; sourceTree = "<group>"; }; | |
| 504 | 534 | 18D018046653E9BB9680EF2CF10C5FF7 /* YBIBImageScrollView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBImageScrollView.h; sourceTree = "<group>"; }; |
| 505 | 535 | 1A3ACB33EE20D3ACBAED2B2528ACF51B /* YYKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = YYKit.modulemap; sourceTree = "<group>"; }; |
| 506 | - 1A7213E5D815346B024AC2C78B59AE7E /* SDWebImageDownloaderRequestModifier.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderRequestModifier.m; path = SDWebImage/Core/SDWebImageDownloaderRequestModifier.m; sourceTree = "<group>"; }; | |
| 507 | 536 | 1ABDD0D167F87048EDFBCF3A1E54B781 /* YYTextView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYTextView.m; path = YYKit/Text/YYTextView.m; sourceTree = "<group>"; }; |
| 508 | 537 | 1BDC88838DB7DE47299D42DFB1449C97 /* UIImageView+YYWebImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+YYWebImage.h"; path = "YYKit/Image/Categories/UIImageView+YYWebImage.h"; sourceTree = "<group>"; }; |
| 509 | 538 | 1C3487B98119240E45C8448E84C5F249 /* YBIBVideoData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBVideoData.h; sourceTree = "<group>"; }; |
| 510 | - 1EE818633CBD870C5763EC5A7DEEFEBB /* SDImageHEICCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageHEICCoder.h; path = SDWebImage/Core/SDImageHEICCoder.h; sourceTree = "<group>"; }; | |
| 511 | - 1FB1475C6AAE3E931553C57D2012437B /* SDWebImage-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SDWebImage-dummy.m"; sourceTree = "<group>"; }; | |
| 539 | + 1C715A63047EF7CF84A44FC37DB4E919 /* SDImageAssetManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageAssetManager.m; path = SDWebImage/Private/SDImageAssetManager.m; sourceTree = "<group>"; }; | |
| 540 | + 1ECDD31DCADBB91FE191C953267FFF2D /* SDInternalMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDInternalMacros.h; path = SDWebImage/Private/SDInternalMacros.h; sourceTree = "<group>"; }; | |
| 512 | 541 | 200049C9763118B9DADAC88FB3401C9D /* NSString+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+YYAdd.m"; path = "YYKit/Base/Foundation/NSString+YYAdd.m"; sourceTree = "<group>"; }; |
| 542 | + 20421D13A41D462848F051647414A829 /* UIImage+ExtendedCacheData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+ExtendedCacheData.m"; path = "SDWebImage/Core/UIImage+ExtendedCacheData.m"; sourceTree = "<group>"; }; | |
| 513 | 543 | 2058F8BF3995BDEFE75215FA94771AA0 /* UIColor+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIColor+YYAdd.h"; path = "YYKit/Base/UIKit/UIColor+YYAdd.h"; sourceTree = "<group>"; }; |
| 514 | 544 | 2083BC9AABD59C97DC155E29DC3E9A9F /* NSThread+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSThread+YYAdd.h"; path = "YYKit/Base/Foundation/NSThread+YYAdd.h"; sourceTree = "<group>"; }; |
| 515 | 545 | 220E77F927A6690D18D2E5FD80F7BE63 /* YYSpriteSheetImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYSpriteSheetImage.h; path = YYKit/Image/YYSpriteSheetImage.h; sourceTree = "<group>"; }; |
| 516 | 546 | 22CF3B73FF5F5A8C94227088CE5E0FC8 /* YBImageBrowser_DSCnliveShop-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YBImageBrowser_DSCnliveShop-prefix.pch"; sourceTree = "<group>"; }; |
| 517 | - 22D6E01939BAAB30A2190ACA1D161CDB /* SDWebImageDownloaderConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderConfig.h; path = SDWebImage/Core/SDWebImageDownloaderConfig.h; sourceTree = "<group>"; }; | |
| 547 | + 232C7410166470C58B9D7DD4BEE465D6 /* SDImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCache.m; path = SDWebImage/Core/SDImageCache.m; sourceTree = "<group>"; }; | |
| 518 | 548 | 235A9602CEADB22A070933C84D790CE0 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = "<group>"; }; |
| 519 | - 23C27D070CBE7191DD5328960C7C772E /* UIImage+MemoryCacheCost.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MemoryCacheCost.m"; path = "SDWebImage/Core/UIImage+MemoryCacheCost.m"; sourceTree = "<group>"; }; | |
| 520 | 549 | 23CB6B846F24E05FCCCC37E91C2CF35A /* MKAnnotationView+YYWebImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MKAnnotationView+YYWebImage.h"; path = "YYKit/Image/Categories/MKAnnotationView+YYWebImage.h"; sourceTree = "<group>"; }; |
| 521 | 550 | 243FDB361CEF50A59E549280ECDFF076 /* YBIBIconManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBIconManager.h; sourceTree = "<group>"; }; |
| 522 | 551 | 2472289EA21A4524121647E98565507F /* YYKeychain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYKeychain.m; path = YYKit/Utility/YYKeychain.m; sourceTree = "<group>"; }; |
| 552 | + 255A9E38BCE069FD5BD5AA7B2554059D /* SDWebImageDownloaderConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderConfig.m; path = SDWebImage/Core/SDWebImageDownloaderConfig.m; sourceTree = "<group>"; }; | |
| 523 | 553 | 25741E0D4DAB65C050394B8B05242DD3 /* YBImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBImage.h; sourceTree = "<group>"; }; |
| 524 | - 2594CEE3269A686FE6A32ADF1ACDA903 /* SDAnimatedImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImageView.m; path = SDWebImage/Core/SDAnimatedImageView.m; sourceTree = "<group>"; }; | |
| 525 | 554 | 264A3613CC394403F6228A3FD0B83D06 /* YYSentinel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYSentinel.m; path = YYKit/Utility/YYSentinel.m; sourceTree = "<group>"; }; |
| 526 | 555 | 268BFC97CAD611337B98EA380097C255 /* YBIBImageCell+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YBIBImageCell+Internal.h"; sourceTree = "<group>"; }; |
| 527 | 556 | 26B0E0EAD79931B3B4465C9353F4AEE3 /* YBIBVideoTopBar.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBVideoTopBar.m; sourceTree = "<group>"; }; |
| 528 | - 26EEACAD4CFF038839E5CAE01FC51426 /* SDImageAssetManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageAssetManager.m; path = SDWebImage/Private/SDImageAssetManager.m; sourceTree = "<group>"; }; | |
| 529 | 557 | 28231517D2EC4777AA0E1F8613912A64 /* YYDiskCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYDiskCache.h; path = YYKit/Cache/YYDiskCache.h; sourceTree = "<group>"; }; |
| 530 | 558 | 282546E77187445CF7EBBDFA4E5CA774 /* YYImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYImageCache.m; path = YYKit/Image/YYImageCache.m; sourceTree = "<group>"; }; |
| 531 | - 29332085AB2D0312202A5E4DA9903355 /* SDImageGIFCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageGIFCoder.m; path = SDWebImage/Core/SDImageGIFCoder.m; sourceTree = "<group>"; }; | |
| 532 | 559 | 29A3DA3355DD6482745F7763E549FDEC /* YYTimer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYTimer.m; path = YYKit/Utility/YYTimer.m; sourceTree = "<group>"; }; |
| 533 | - 2B9F2CAB3EBC390CC9C5DF6FEB4AE54E /* UIView+WebCacheOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCacheOperation.h"; path = "SDWebImage/Core/UIView+WebCacheOperation.h"; sourceTree = "<group>"; }; | |
| 534 | - 2C6338E013B6CE8A040D3B94EC208F53 /* SDMemoryCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDMemoryCache.h; path = SDWebImage/Core/SDMemoryCache.h; sourceTree = "<group>"; }; | |
| 535 | - 2C68FD0A33D48BF8511F5E1F0AF5F38C /* SDWebImageCacheKeyFilter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCacheKeyFilter.h; path = SDWebImage/Core/SDWebImageCacheKeyFilter.h; sourceTree = "<group>"; }; | |
| 536 | 560 | 2C71F70A09014858351E0D2BA6885014 /* YYWebImageManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYWebImageManager.h; path = YYKit/Image/YYWebImageManager.h; sourceTree = "<group>"; }; |
| 537 | 561 | 2CC0CE9E8F82738D36611F6084F5F9C8 /* YYTextKeyboardManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYTextKeyboardManager.h; path = YYKit/Text/Component/YYTextKeyboardManager.h; sourceTree = "<group>"; }; |
| 538 | 562 | 2D2677C218E3A46355C345D95E7DE293 /* YBImageBrowser_DSCnliveShop-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "YBImageBrowser_DSCnliveShop-Info.plist"; sourceTree = "<group>"; }; |
| 563 | + 2DC1F761B34C39B4907D5DB70157ABFC /* SDImageIOCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageIOCoder.h; path = SDWebImage/Core/SDImageIOCoder.h; sourceTree = "<group>"; }; | |
| 539 | 564 | 2DEA694BF89E27C54D37D6453687E87A /* NSObject+YBImageBrowser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSObject+YBImageBrowser.h"; sourceTree = "<group>"; }; |
| 540 | 565 | 2DEB9108C68D52B1B6E58D88118E1BCA /* YBIBImageScrollView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBImageScrollView.m; sourceTree = "<group>"; }; |
| 541 | - 2E14AFE886371F80BB03C9261CAE653A /* SDWebImage-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SDWebImage-prefix.pch"; sourceTree = "<group>"; }; | |
| 566 | + 2DED8461605A23446E943D5B44AC07FB /* SDWebImage-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SDWebImage-umbrella.h"; sourceTree = "<group>"; }; | |
| 567 | + 2E02A020962AA8A983BE9DEF489D5CC5 /* SDImageHEICCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageHEICCoder.h; path = SDWebImage/Core/SDImageHEICCoder.h; sourceTree = "<group>"; }; | |
| 542 | 568 | 2FA8DD8E17F9BA15127FBA5142430978 /* YBImageBrowser_DSCnliveShop.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = YBImageBrowser_DSCnliveShop.release.xcconfig; sourceTree = "<group>"; }; |
| 543 | - 2FB82601936A52D10C46ABDED4C4D68E /* UIImage+MultiFormat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MultiFormat.m"; path = "SDWebImage/Core/UIImage+MultiFormat.m"; sourceTree = "<group>"; }; | |
| 544 | - 2FD9BD14816B4B34D6B032B14FCBCD17 /* SDImageCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCoder.m; path = SDWebImage/Core/SDImageCoder.m; sourceTree = "<group>"; }; | |
| 569 | + 2FBBBA584888406A53BBAB4C8E646119 /* SDWebImageManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageManager.h; path = SDWebImage/Core/SDWebImageManager.h; sourceTree = "<group>"; }; | |
| 545 | 570 | 305596E45FD137D2410A689DD199F532 /* YBIBScreenRotationHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBScreenRotationHandler.m; sourceTree = "<group>"; }; |
| 546 | 571 | 30A5E7177537475E2A71D3D8A0E4C58F /* YBImageBrowser_DSCnliveShop-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YBImageBrowser_DSCnliveShop-umbrella.h"; sourceTree = "<group>"; }; |
| 572 | + 3103E35D6924D70FC117A1BFA21077C8 /* SDWebImageDefine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDefine.h; path = SDWebImage/Core/SDWebImageDefine.h; sourceTree = "<group>"; }; | |
| 547 | 573 | 3236EA97B14313391E71CA2593DBB697 /* YBImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBImage.m; sourceTree = "<group>"; }; |
| 548 | 574 | 327DD14828A174C897406BB7ACBB30E7 /* YBIBImageCache+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YBIBImageCache+Internal.h"; sourceTree = "<group>"; }; |
| 549 | 575 | 32AA9B50FD45F8829F9B21411363EC98 /* Pods-YBImageBrowser_DSCnliveShop_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-YBImageBrowser_DSCnliveShop_Example.debug.xcconfig"; sourceTree = "<group>"; }; |
| ... | ... | @@ -552,162 +578,169 @@ |
| 552 | 578 | 33DBCD81CD9E79FBDBDD1041BC653A17 /* YBIBCopywriter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBCopywriter.m; sourceTree = "<group>"; }; |
| 553 | 579 | 33F8253486294181F468179983E49503 /* YBIBUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBUtilities.h; sourceTree = "<group>"; }; |
| 554 | 580 | 34FA97BD63CC23B9293C28CC94F1935E /* YBIBScreenRotationHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBScreenRotationHandler.h; sourceTree = "<group>"; }; |
| 555 | - 35974735D558DD140EC7A519306676BF /* SDWebImage.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SDWebImage.debug.xcconfig; sourceTree = "<group>"; }; | |
| 556 | 581 | 364A01FADBC877C6C8BC0B9E72655651 /* Pods-YBImageBrowser_DSCnliveShop_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-YBImageBrowser_DSCnliveShop_Tests.modulemap"; sourceTree = "<group>"; }; |
| 582 | + 36C8C2D7C7ACA9C26136F7A7D1154082 /* SDImageCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCoder.m; path = SDWebImage/Core/SDImageCoder.m; sourceTree = "<group>"; }; | |
| 557 | 583 | 36E435B666CD79060C4FCDA32BA104A7 /* NSDictionary+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+YYAdd.m"; path = "YYKit/Base/Foundation/NSDictionary+YYAdd.m"; sourceTree = "<group>"; }; |
| 558 | 584 | 375D9DE1B1D8EB4B9968FB74F25DE792 /* YBIBImageLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBImageLayout.m; sourceTree = "<group>"; }; |
| 585 | + 3937A5FCAE6FD5C9CBFD132D61702EB0 /* SDWebImage.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SDWebImage.debug.xcconfig; sourceTree = "<group>"; }; | |
| 559 | 586 | 39721DF1E2941C5B4B819BD85F2AA60E /* NSNotificationCenter+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+YYAdd.m"; path = "YYKit/Base/Foundation/NSNotificationCenter+YYAdd.m"; sourceTree = "<group>"; }; |
| 560 | - 397498F9C1EC4E17B000928E2E9A2551 /* UIImageView+HighlightedWebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+HighlightedWebCache.h"; path = "SDWebImage/Core/UIImageView+HighlightedWebCache.h"; sourceTree = "<group>"; }; | |
| 561 | - 3977DF74625040A3E0128C656F9FA8D0 /* SDWebImageOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageOperation.h; path = SDWebImage/Core/SDWebImageOperation.h; sourceTree = "<group>"; }; | |
| 562 | - 3BAFBDA5FBFB046872240DAA694DBA9D /* SDWebImageCompat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCompat.h; path = SDWebImage/Core/SDWebImageCompat.h; sourceTree = "<group>"; }; | |
| 587 | + 3A20F815CD4F1A80CA68C34C3039D331 /* UIImage+GIF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+GIF.h"; path = "SDWebImage/Core/UIImage+GIF.h"; sourceTree = "<group>"; }; | |
| 588 | + 3AEC8F623A6884FBFC7CF8D4309918D7 /* SDWebImage-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SDWebImage-prefix.pch"; sourceTree = "<group>"; }; | |
| 563 | 589 | 3BDA601294E211EE3B9CBED6DC267A5E /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; |
| 564 | - 3C89C4C20801869E17ED28D5BC0002C7 /* SDWebImageCacheKeyFilter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCacheKeyFilter.m; path = SDWebImage/Core/SDWebImageCacheKeyFilter.m; sourceTree = "<group>"; }; | |
| 590 | + 3C016044B645AE229C947C4E2E37F78B /* SDWebImageCacheKeyFilter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCacheKeyFilter.h; path = SDWebImage/Core/SDWebImageCacheKeyFilter.h; sourceTree = "<group>"; }; | |
| 591 | + 3C7A36D864638BFBD8FEE3A451FAC9B3 /* UIImage+GIF.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+GIF.m"; path = "SDWebImage/Core/UIImage+GIF.m"; sourceTree = "<group>"; }; | |
| 592 | + 3CA0E2F59E86C22963A7F42A601D4D9D /* SDWebImageCacheSerializer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCacheSerializer.h; path = SDWebImage/Core/SDWebImageCacheSerializer.h; sourceTree = "<group>"; }; | |
| 565 | 593 | 3CE22FC473D05C3D81125FB08264318F /* NSTimer+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSTimer+YYAdd.h"; path = "YYKit/Base/Foundation/NSTimer+YYAdd.h"; sourceTree = "<group>"; }; |
| 566 | 594 | 3D190164465C91A9309173CCE20C5764 /* YYTextEffectWindow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYTextEffectWindow.h; path = YYKit/Text/Component/YYTextEffectWindow.h; sourceTree = "<group>"; }; |
| 567 | 595 | 3D83880B681055CB94822859FFC3C2B6 /* UIDevice+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIDevice+YYAdd.m"; path = "YYKit/Base/UIKit/UIDevice+YYAdd.m"; sourceTree = "<group>"; }; |
| 568 | 596 | 3E04E2554A40CC109E87A30B4F4F3587 /* Pods-YBImageBrowser_DSCnliveShop_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-YBImageBrowser_DSCnliveShop_Example.modulemap"; sourceTree = "<group>"; }; |
| 597 | + 3E74798ACDDA5B166130859C04575723 /* SDWebImage.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SDWebImage.modulemap; sourceTree = "<group>"; }; | |
| 569 | 598 | 3F544E13A1E9FD128E0AF79DBF99E602 /* Pods-YBImageBrowser_DSCnliveShop_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-YBImageBrowser_DSCnliveShop_Example.release.xcconfig"; sourceTree = "<group>"; }; |
| 570 | - 3F679F8EE0717580BF2DF10529B314ED /* SDImageFrame.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageFrame.h; path = SDWebImage/Core/SDImageFrame.h; sourceTree = "<group>"; }; | |
| 599 | + 3F7D6860C305EDC74687492EDEFC2325 /* SDImageCachesManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCachesManager.m; path = SDWebImage/Core/SDImageCachesManager.m; sourceTree = "<group>"; }; | |
| 571 | 600 | 410FD0E1E2173C4AFCCB371FC6932374 /* YYFrameImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYFrameImage.h; path = YYKit/Image/YYFrameImage.h; sourceTree = "<group>"; }; |
| 572 | - 42406C450631485B971273EE79B37A12 /* UIImageView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+WebCache.m"; path = "SDWebImage/Core/UIImageView+WebCache.m"; sourceTree = "<group>"; }; | |
| 601 | + 4294BEEA87AE1F76B25087B05E8A9958 /* SDWebImageManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageManager.m; path = SDWebImage/Core/SDWebImageManager.m; sourceTree = "<group>"; }; | |
| 573 | 602 | 431B4699FDBDE9286754313242740273 /* Pods-YBImageBrowser_DSCnliveShop_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-YBImageBrowser_DSCnliveShop_Tests-acknowledgements.markdown"; sourceTree = "<group>"; }; |
| 574 | 603 | 43D073BDA908719B072B9A52BECCED3D /* NSBundle+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBundle+YYAdd.h"; path = "YYKit/Base/Foundation/NSBundle+YYAdd.h"; sourceTree = "<group>"; }; |
| 604 | + 4423F2AF5E01BBBB5F27784F5DA57247 /* UIImage+ForceDecode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+ForceDecode.m"; path = "SDWebImage/Core/UIImage+ForceDecode.m"; sourceTree = "<group>"; }; | |
| 575 | 605 | 44A8AA845C7A4050F81BBFEC526B2B62 /* Pods-YBImageBrowser_DSCnliveShop_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-YBImageBrowser_DSCnliveShop_Example-dummy.m"; sourceTree = "<group>"; }; |
| 576 | 606 | 4509C09CF0DD15FBEB1EAF90400333B3 /* YYTextParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYTextParser.h; path = YYKit/Text/String/YYTextParser.h; sourceTree = "<group>"; }; |
| 577 | - 4532E0D4D1C1FCB630416F347E791110 /* UIImageView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+WebCache.h"; path = "SDWebImage/Core/UIImageView+WebCache.h"; sourceTree = "<group>"; }; | |
| 578 | - 45487E9C2D9132F54E6DD142FDADCBAF /* SDAnimatedImageRep.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImageRep.m; path = SDWebImage/Core/SDAnimatedImageRep.m; sourceTree = "<group>"; }; | |
| 579 | 607 | 45819A3D4F8AF3FCF1D0D1AF84EADC51 /* YBIBLoadingView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBLoadingView.m; sourceTree = "<group>"; }; |
| 580 | - 458C3BA863BEC4A0D1766E7096A16EF8 /* SDAnimatedImageView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SDAnimatedImageView+WebCache.h"; path = "SDWebImage/Core/SDAnimatedImageView+WebCache.h"; sourceTree = "<group>"; }; | |
| 581 | - 45EBF80603A6BB114FFDF460A6A20CC7 /* UIImage+MemoryCacheCost.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+MemoryCacheCost.h"; path = "SDWebImage/Core/UIImage+MemoryCacheCost.h"; sourceTree = "<group>"; }; | |
| 582 | 608 | 4600030B461C937CF76ADA334E8D6F1B /* YBIBCollectionViewLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBCollectionViewLayout.h; sourceTree = "<group>"; }; |
| 583 | 609 | 4625B897D5EC65459B29737D53744D1B /* Pods-YBImageBrowser_DSCnliveShop_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-YBImageBrowser_DSCnliveShop_Example-Info.plist"; sourceTree = "<group>"; }; |
| 610 | + 467332BA4DF047A604E2AD170D2A9A6C /* SDWebImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImage.h; path = WebImage/SDWebImage.h; sourceTree = "<group>"; }; | |
| 584 | 611 | 47EBB445DD9ED1E0006BD00439ED755A /* YYSentinel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYSentinel.h; path = YYKit/Utility/YYSentinel.h; sourceTree = "<group>"; }; |
| 585 | - 480531E7E6576BA8EBC67D80A2410524 /* NSBezierPath+RoundedCorners.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBezierPath+RoundedCorners.h"; path = "SDWebImage/Private/NSBezierPath+RoundedCorners.h"; sourceTree = "<group>"; }; | |
| 612 | + 491254BCC101B0465D55540272375AB3 /* SDWebImageOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageOperation.h; path = SDWebImage/Core/SDWebImageOperation.h; sourceTree = "<group>"; }; | |
| 586 | 613 | 49508D684CC827AE070DD761E831114F /* YYFrameImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYFrameImage.m; path = YYKit/Image/YYFrameImage.m; sourceTree = "<group>"; }; |
| 614 | + 4A1019E03A5B1C662AEA03A27BAD9451 /* SDWebImageOptionsProcessor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageOptionsProcessor.m; path = SDWebImage/Core/SDWebImageOptionsProcessor.m; sourceTree = "<group>"; }; | |
| 615 | + 4B31C91F7BAC29DAB475F9F033793951 /* SDWebImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloader.m; path = SDWebImage/Core/SDWebImageDownloader.m; sourceTree = "<group>"; }; | |
| 587 | 616 | 4B993C46E9B43AF9AE34EE10D6399802 /* DSYBImageBrowser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DSYBImageBrowser.h; path = YBImageBrowser_DSCnliveShop/Classes/DSYBImageBrowser.h; sourceTree = "<group>"; }; |
| 588 | - 4C86D29287795201B7A91BA858DBC2FB /* SDImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCache.m; path = SDWebImage/Core/SDImageCache.m; sourceTree = "<group>"; }; | |
| 617 | + 4C8603634C14CA0EB02BA831268B0C10 /* NSButton+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSButton+WebCache.m"; path = "SDWebImage/Core/NSButton+WebCache.m"; sourceTree = "<group>"; }; | |
| 589 | 618 | 4D09FF329509C51C099F07C2BA4EF7A6 /* NSData+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+YYAdd.h"; path = "YYKit/Base/Foundation/NSData+YYAdd.h"; sourceTree = "<group>"; }; |
| 590 | - 4D82E5E2C22405F57D03467E23EA118F /* SDWebImageError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageError.m; path = SDWebImage/Core/SDWebImageError.m; sourceTree = "<group>"; }; | |
| 591 | - 4E907072812DC6E02160321606CBFFD2 /* UIImageView+HighlightedWebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+HighlightedWebCache.m"; path = "SDWebImage/Core/UIImageView+HighlightedWebCache.m"; sourceTree = "<group>"; }; | |
| 592 | - 4EB6A999880D99C4B8EAE70EC4D73221 /* SDWebImageCompat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCompat.m; path = SDWebImage/Core/SDWebImageCompat.m; sourceTree = "<group>"; }; | |
| 619 | + 4D6746DFA44B1641AE23A50377370530 /* NSImage+Compatibility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSImage+Compatibility.m"; path = "SDWebImage/Core/NSImage+Compatibility.m"; sourceTree = "<group>"; }; | |
| 620 | + 4EB5FC7AFB1E5240D21A6FE7DF89E87C /* SDDisplayLink.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDDisplayLink.h; path = SDWebImage/Private/SDDisplayLink.h; sourceTree = "<group>"; }; | |
| 621 | + 4F30AC9537E6584F35D8DD4C10EDB7B1 /* UIImage+MemoryCacheCost.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MemoryCacheCost.m"; path = "SDWebImage/Core/UIImage+MemoryCacheCost.m"; sourceTree = "<group>"; }; | |
| 593 | 622 | 4F8E8FC3A2C5BD919F913AD5ED4E1EAC /* YYKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "YYKit-dummy.m"; sourceTree = "<group>"; }; |
| 623 | + 507EA85A920020FD53FDF4A254A318F9 /* SDAssociatedObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAssociatedObject.m; path = SDWebImage/Private/SDAssociatedObject.m; sourceTree = "<group>"; }; | |
| 594 | 624 | 50E241CBBD2EF97B17ECA31FEAF181E7 /* UIBarButtonItem+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIBarButtonItem+YYAdd.h"; path = "YYKit/Base/UIKit/UIBarButtonItem+YYAdd.h"; sourceTree = "<group>"; }; |
| 595 | 625 | 517A0A3DCA0C56126084B689FBE105E9 /* YYTextRubyAnnotation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYTextRubyAnnotation.m; path = YYKit/Text/String/YYTextRubyAnnotation.m; sourceTree = "<group>"; }; |
| 596 | - 523A9DF244F75BFD8EF7183295D79237 /* SDAnimatedImageView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SDAnimatedImageView+WebCache.m"; path = "SDWebImage/Core/SDAnimatedImageView+WebCache.m"; sourceTree = "<group>"; }; | |
| 597 | 626 | 52A857F7C6A4B03E17C6CC6873436387 /* _YYWebImageSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _YYWebImageSetter.m; path = YYKit/Image/Categories/_YYWebImageSetter.m; sourceTree = "<group>"; }; |
| 598 | 627 | 52B62F0134660F292CE152D8E39947BD /* YBIBVideoCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBVideoCell.h; sourceTree = "<group>"; }; |
| 599 | 628 | 52BE96D687228A93E19263F07010C4F8 /* NSObject+YYAddForKVO.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+YYAddForKVO.h"; path = "YYKit/Base/Foundation/NSObject+YYAddForKVO.h"; sourceTree = "<group>"; }; |
| 600 | 629 | 5356E679669AF6B1D86C87ED02DE9228 /* YBIBImageData+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YBIBImageData+Internal.h"; sourceTree = "<group>"; }; |
| 630 | + 54932F1D65D4CE3969AD7014585252E6 /* SDDeviceHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDDeviceHelper.m; path = SDWebImage/Private/SDDeviceHelper.m; sourceTree = "<group>"; }; | |
| 631 | + 5566B7FA1592DB68F47F538060773A34 /* SDWebImageDownloaderDecryptor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderDecryptor.m; path = SDWebImage/Core/SDWebImageDownloaderDecryptor.m; sourceTree = "<group>"; }; | |
| 632 | + 5573ECAD013B67C3DCA80D7EFBDE031B /* UIView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCache.m"; path = "SDWebImage/Core/UIView+WebCache.m"; sourceTree = "<group>"; }; | |
| 601 | 633 | 55FA14C2DEAB1ED0438F36B2AF930CC1 /* YYClassInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYClassInfo.h; path = YYKit/Model/YYClassInfo.h; sourceTree = "<group>"; }; |
| 602 | 634 | 563F4DAD613D6C00571FC9D44766124D /* YYImageCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYImageCoder.m; path = YYKit/Image/YYImageCoder.m; sourceTree = "<group>"; }; |
| 603 | - 565EA3FF9DE0069950D12760CD92E6DF /* SDInternalMacros.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDInternalMacros.m; path = SDWebImage/Private/SDInternalMacros.m; sourceTree = "<group>"; }; | |
| 635 | + 57001503938AEFE09B39A90CD56CF65A /* SDDisplayLink.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDDisplayLink.m; path = SDWebImage/Private/SDDisplayLink.m; sourceTree = "<group>"; }; | |
| 604 | 636 | 57078E9B88965F537213B04FEDA909B2 /* YYTextAttribute.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYTextAttribute.h; path = YYKit/Text/String/YYTextAttribute.h; sourceTree = "<group>"; }; |
| 605 | 637 | 57EF9F7EACD9A4EA29C6C7519AC29E42 /* YYThreadSafeDictionary.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYThreadSafeDictionary.m; path = YYKit/Utility/YYThreadSafeDictionary.m; sourceTree = "<group>"; }; |
| 606 | - 5820AFD9CB1F531DEEEA85AE53BA9FB1 /* SDImageCoderHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCoderHelper.h; path = SDWebImage/Core/SDImageCoderHelper.h; sourceTree = "<group>"; }; | |
| 607 | 638 | 586579D8B562F5F100F35D60CADAF40B /* CALayer+YYWebImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CALayer+YYWebImage.h"; path = "YYKit/Image/Categories/CALayer+YYWebImage.h"; sourceTree = "<group>"; }; |
| 608 | 639 | 5A4D5229E0CA5F30FA43F226DA32F462 /* CALayer+YYWebImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CALayer+YYWebImage.m"; path = "YYKit/Image/Categories/CALayer+YYWebImage.m"; sourceTree = "<group>"; }; |
| 609 | 640 | 5B19431AF11994E0CA59423A7DAE3628 /* YYAsyncLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYAsyncLayer.h; path = YYKit/Utility/YYAsyncLayer.h; sourceTree = "<group>"; }; |
| 610 | 641 | 5C1FEAA05AC81F62B91CF98EA70351DD /* YBIBSentinel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBSentinel.h; sourceTree = "<group>"; }; |
| 611 | - 5E4DCEAC007F7F72A2323A6304B0F4A4 /* UIColor+HexString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIColor+HexString.h"; path = "SDWebImage/Private/UIColor+HexString.h"; sourceTree = "<group>"; }; | |
| 612 | - 5E7D951E27DDF1D0327C691AC350863B /* SDWebImageOptionsProcessor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageOptionsProcessor.h; path = SDWebImage/Core/SDWebImageOptionsProcessor.h; sourceTree = "<group>"; }; | |
| 642 | + 5D239E8639A886939B6B5EB58FC27342 /* SDImageLoadersManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageLoadersManager.m; path = SDWebImage/Core/SDImageLoadersManager.m; sourceTree = "<group>"; }; | |
| 643 | + 5DD0F8422DC31BC404DEB779AA5DB139 /* SDImageTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageTransformer.h; path = SDWebImage/Core/SDImageTransformer.h; sourceTree = "<group>"; }; | |
| 644 | + 5E05A254217112511844A5ABAEA26D88 /* SDImageCachesManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCachesManager.h; path = SDWebImage/Core/SDImageCachesManager.h; sourceTree = "<group>"; }; | |
| 613 | 645 | 5E84B87FDA9D2897071CB2718674F9C6 /* YBImageBrowser_DSCnliveShop.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = YBImageBrowser_DSCnliveShop.framework; path = YBImageBrowser_DSCnliveShop.framework; sourceTree = BUILT_PRODUCTS_DIR; }; |
| 614 | - 604FBD4A36B51CB23593D6E7144E0A66 /* UIButton+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+WebCache.m"; path = "SDWebImage/Core/UIButton+WebCache.m"; sourceTree = "<group>"; }; | |
| 615 | - 6076834A27CA897C42FFDA170BDE4715 /* SDWebImageDownloaderOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderOperation.h; path = SDWebImage/Core/SDWebImageDownloaderOperation.h; sourceTree = "<group>"; }; | |
| 646 | + 6016CD6764077B1F107BD22483AA7D14 /* SDGraphicsImageRenderer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDGraphicsImageRenderer.h; path = SDWebImage/Core/SDGraphicsImageRenderer.h; sourceTree = "<group>"; }; | |
| 647 | + 608E04456BC00743986E00E4A8181EA3 /* NSBezierPath+SDRoundedCorners.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBezierPath+SDRoundedCorners.m"; path = "SDWebImage/Private/NSBezierPath+SDRoundedCorners.m"; sourceTree = "<group>"; }; | |
| 616 | 648 | 60FC5BFD7F334913232A59633DEE5138 /* YBIBDefaultWebImageMediator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBDefaultWebImageMediator.m; sourceTree = "<group>"; }; |
| 617 | 649 | 6107B507ED75C5E7304F9AE9131E04CB /* YYWeakProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYWeakProxy.m; path = YYKit/Utility/YYWeakProxy.m; sourceTree = "<group>"; }; |
| 650 | + 615E0DE04702B1FE637909AB79E77479 /* UIImage+Transform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Transform.h"; path = "SDWebImage/Core/UIImage+Transform.h"; sourceTree = "<group>"; }; | |
| 651 | + 615E844CC98D96DCD6F0EFE36CFF13BF /* SDFileAttributeHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDFileAttributeHelper.m; path = SDWebImage/Private/SDFileAttributeHelper.m; sourceTree = "<group>"; }; | |
| 652 | + 61733D38B2BF61692321B0EAD6CE7AAC /* SDWebImage-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SDWebImage-dummy.m"; sourceTree = "<group>"; }; | |
| 618 | 653 | 618A21680667BDF2F6B320EC659C0C8A /* YBIBAuxiliaryViewHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBAuxiliaryViewHandler.m; sourceTree = "<group>"; }; |
| 619 | - 631A43488B8C087EA660030CD2484EA9 /* SDWebImageCacheSerializer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCacheSerializer.h; path = SDWebImage/Core/SDWebImageCacheSerializer.h; sourceTree = "<group>"; }; | |
| 654 | + 618EA55D0CE2B6CFE74715E49A256295 /* SDWebImageCompat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCompat.h; path = SDWebImage/Core/SDWebImageCompat.h; sourceTree = "<group>"; }; | |
| 620 | 655 | 638CD74411415C9BD0B7940010462593 /* CALayer+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CALayer+YYAdd.h"; path = "YYKit/Base/Quartz/CALayer+YYAdd.h"; sourceTree = "<group>"; }; |
| 621 | 656 | 64533B43DC32C38326C2FB11D3FB17D6 /* YYKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "YYKit-Info.plist"; sourceTree = "<group>"; }; |
| 622 | - 645FAD055E96DC89E3CF7A287A4B4F87 /* SDWebImageManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageManager.h; path = SDWebImage/Core/SDWebImageManager.h; sourceTree = "<group>"; }; | |
| 657 | + 64D193C84163B92004E21BE9A8A13B71 /* UIView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCache.h"; path = "SDWebImage/Core/UIView+WebCache.h"; sourceTree = "<group>"; }; | |
| 658 | + 657DCFEE5B399779371CC2AC2AAAA206 /* SDImageAssetManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageAssetManager.h; path = SDWebImage/Private/SDImageAssetManager.h; sourceTree = "<group>"; }; | |
| 623 | 659 | 65851769AB362F92EB866E5610C88E6C /* Pods-YBImageBrowser_DSCnliveShop_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-YBImageBrowser_DSCnliveShop_Tests-dummy.m"; sourceTree = "<group>"; }; |
| 624 | - 662B362504EE532B6C5EAA6DEDDC5D23 /* SDImageTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageTransformer.h; path = SDWebImage/Core/SDImageTransformer.h; sourceTree = "<group>"; }; | |
| 625 | 660 | 666CEBB485FC6B4BC1861FC6F4EE5093 /* YYTextContainerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYTextContainerView.m; path = YYKit/Text/Component/YYTextContainerView.m; sourceTree = "<group>"; }; |
| 626 | 661 | 666F2A06D9CC71D500B577D3F48163AF /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; |
| 627 | 662 | 670ED4D099B5B4C894DE0935874915F0 /* UIControl+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIControl+YYAdd.h"; path = "YYKit/Base/UIKit/UIControl+YYAdd.h"; sourceTree = "<group>"; }; |
| 628 | - 6821ACBD9902AD3AEC5766052616BEFC /* UIView+WebCacheOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCacheOperation.m"; path = "SDWebImage/Core/UIView+WebCacheOperation.m"; sourceTree = "<group>"; }; | |
| 663 | + 6721C57EE2049316FC7DFA0EC2F61B33 /* SDWebImagePrefetcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImagePrefetcher.m; path = SDWebImage/Core/SDWebImagePrefetcher.m; sourceTree = "<group>"; }; | |
| 629 | 664 | 68D2A3CB6FA504A7585BD0C033C2860D /* YBIBDefaultWebImageMediator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBDefaultWebImageMediator.h; sourceTree = "<group>"; }; |
| 665 | + 69B6E48A6A7BF7FDA397F18D808442A2 /* SDWebImage.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SDWebImage.release.xcconfig; sourceTree = "<group>"; }; | |
| 630 | 666 | 6A08FF9357329D825160ABB1311027C9 /* UIBezierPath+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIBezierPath+YYAdd.m"; path = "YYKit/Base/UIKit/UIBezierPath+YYAdd.m"; sourceTree = "<group>"; }; |
| 631 | 667 | 6A25BC91CE33678DD088B666A283A44A /* UIDevice+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIDevice+YYAdd.h"; path = "YYKit/Base/UIKit/UIDevice+YYAdd.h"; sourceTree = "<group>"; }; |
| 632 | 668 | 6A37969EF9EE0C673EADF254ACD0FE1C /* UIFont+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIFont+YYAdd.h"; path = "YYKit/Base/UIKit/UIFont+YYAdd.h"; sourceTree = "<group>"; }; |
| 633 | - 6BF16A9C9A9AF5DDC141A40D41D0467E /* NSData+ImageContentType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+ImageContentType.m"; path = "SDWebImage/Core/NSData+ImageContentType.m"; sourceTree = "<group>"; }; | |
| 634 | - 6C25A06B05CE4932A05E03D9A5B91E1A /* UIView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCache.m"; path = "SDWebImage/Core/UIView+WebCache.m"; sourceTree = "<group>"; }; | |
| 635 | - 6E0438EB685599B92473E4BBB56C9271 /* SDWebImagePrefetcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImagePrefetcher.h; path = SDWebImage/Core/SDWebImagePrefetcher.h; sourceTree = "<group>"; }; | |
| 669 | + 6DB88B001512FB115B60C0A194FAB687 /* SDGraphicsImageRenderer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDGraphicsImageRenderer.m; path = SDWebImage/Core/SDGraphicsImageRenderer.m; sourceTree = "<group>"; }; | |
| 636 | 670 | 6F091181C07B3942FF0C12310A2FD678 /* YYThreadSafeDictionary.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYThreadSafeDictionary.h; path = YYKit/Utility/YYThreadSafeDictionary.h; sourceTree = "<group>"; }; |
| 637 | 671 | 6F3722F221BDAC94870B0E9231FE44B7 /* YYTextContainerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYTextContainerView.h; path = YYKit/Text/Component/YYTextContainerView.h; sourceTree = "<group>"; }; |
| 638 | - 6F4A5B2FFD435932DC069C91BA243B8A /* SDWebImageTransition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageTransition.m; path = SDWebImage/Core/SDWebImageTransition.m; sourceTree = "<group>"; }; | |
| 639 | - 6F7A1C78766D1A651D4233A02DFD21C1 /* SDAnimatedImageRep.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImageRep.h; path = SDWebImage/Core/SDAnimatedImageRep.h; sourceTree = "<group>"; }; | |
| 672 | + 7025B67B4A01BBCCCFB1958DC25846D2 /* SDWebImageDefine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDefine.m; path = SDWebImage/Core/SDWebImageDefine.m; sourceTree = "<group>"; }; | |
| 673 | + 7136C53C3E86DF97021DEAC46C3AF414 /* SDWebImageTransition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageTransition.m; path = SDWebImage/Core/SDWebImageTransition.m; sourceTree = "<group>"; }; | |
| 674 | + 71AEC717DE657C306DC4220359875899 /* SDAnimatedImageRep.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImageRep.h; path = SDWebImage/Core/SDAnimatedImageRep.h; sourceTree = "<group>"; }; | |
| 640 | 675 | 7310856B16CA1367B57B8768F5EBC3E9 /* YBIBImageLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBImageLayout.h; sourceTree = "<group>"; }; |
| 641 | 676 | 7355C552B642A7D227CB76CDCD03E2F8 /* NSNumber+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNumber+YYAdd.m"; path = "YYKit/Base/Foundation/NSNumber+YYAdd.m"; sourceTree = "<group>"; }; |
| 642 | 677 | 73F109F39280C7548AA77C244ED5675B /* YBIBDataProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBDataProtocol.h; sourceTree = "<group>"; }; |
| 643 | - 7492D3D26ACA17BE066949BC5402EFA6 /* SDImageIOCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageIOCoder.m; path = SDWebImage/Core/SDImageIOCoder.m; sourceTree = "<group>"; }; | |
| 644 | - 74C01AF8051358A2AD340A5AB3505F28 /* SDImageIOAnimatedCoderInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageIOAnimatedCoderInternal.h; path = SDWebImage/Private/SDImageIOAnimatedCoderInternal.h; sourceTree = "<group>"; }; | |
| 645 | 678 | 74C9F42DE0F28AF77F3789C8BD0F8A78 /* YYTransaction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYTransaction.h; path = YYKit/Utility/YYTransaction.h; sourceTree = "<group>"; }; |
| 646 | 679 | 74CE5CC75231FB5BA4F8EB1071D6A3B3 /* YBIBCollectionViewLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBCollectionViewLayout.m; sourceTree = "<group>"; }; |
| 647 | 680 | 75DDFEB8B1AD695874CDD5C0116D3C02 /* YYKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YYKit-umbrella.h"; sourceTree = "<group>"; }; |
| 681 | + 77BDAC0316DE945EDC00877B001E3F13 /* UIImage+Transform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Transform.m"; path = "SDWebImage/Core/UIImage+Transform.m"; sourceTree = "<group>"; }; | |
| 648 | 682 | 78025E79C159D1B545ECE0DBDCA36B66 /* Pods-YBImageBrowser_DSCnliveShop_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-YBImageBrowser_DSCnliveShop_Example-acknowledgements.markdown"; sourceTree = "<group>"; }; |
| 649 | 683 | 780BD6CD409902FCCA79E07B8449B0DB /* YBIBAnimatedTransition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBAnimatedTransition.h; sourceTree = "<group>"; }; |
| 650 | 684 | 784B89EF43D57599270D1491D222B2BF /* YYReachability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYReachability.h; path = YYKit/Utility/YYReachability.h; sourceTree = "<group>"; }; |
| 651 | 685 | 78B7E54CA0E5B57763E180DBA69E47AF /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = DEVELOPER_DIR; }; |
| 652 | 686 | 78C427ED00AF6FA74B7F70468B7F9537 /* YBImageBrowserVideo.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = YBImageBrowserVideo.bundle; path = YBImageBrowser_DSCnliveShop/Assets/YBImageBrowserVideo.bundle; sourceTree = "<group>"; }; |
| 653 | - 78D88E09C574752B379AC19B8561A84F /* SDImageTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageTransformer.m; path = SDWebImage/Core/SDImageTransformer.m; sourceTree = "<group>"; }; | |
| 654 | 687 | 7975F0485F6C6908DD6A4D47F50E9D35 /* YYTextArchiver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYTextArchiver.m; path = YYKit/Text/String/YYTextArchiver.m; sourceTree = "<group>"; }; |
| 655 | 688 | 7A2AD834B988AB862338A88298281712 /* YBImageBrowser.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = YBImageBrowser.bundle; path = YBImageBrowser_DSCnliveShop/Assets/YBImageBrowser.bundle; sourceTree = "<group>"; }; |
| 656 | - 7A3758E1F2262F48C18DEA44579E7F23 /* SDImageCodersManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCodersManager.m; path = SDWebImage/Core/SDImageCodersManager.m; sourceTree = "<group>"; }; | |
| 657 | 689 | 7B4A7C95058000CD832DBF4537DCFBA4 /* YYTextLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYTextLayout.m; path = YYKit/Text/Component/YYTextLayout.m; sourceTree = "<group>"; }; |
| 658 | 690 | 7BE5EE0D085B4C8EE2CDD27B25526D0D /* YYTextLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYTextLayout.h; path = YYKit/Text/Component/YYTextLayout.h; sourceTree = "<group>"; }; |
| 659 | - 7DC9E6937FC0DCAFBFE9BC1CC778D6C9 /* SDImageIOCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageIOCoder.h; path = SDWebImage/Core/SDImageIOCoder.h; sourceTree = "<group>"; }; | |
| 691 | + 7CA02462DD9F35B55FD8C20DC0A0CDBC /* SDImageIOAnimatedCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageIOAnimatedCoder.h; path = SDWebImage/Core/SDImageIOAnimatedCoder.h; sourceTree = "<group>"; }; | |
| 692 | + 7E26822C5FA7DDEE80076B4E7C2728A9 /* SDImageCodersManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCodersManager.m; path = SDWebImage/Core/SDImageCodersManager.m; sourceTree = "<group>"; }; | |
| 660 | 693 | 7E3CBF57D127E6A6C4FD252662C1ADC0 /* YYImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYImage.h; path = YYKit/Image/YYImage.h; sourceTree = "<group>"; }; |
| 694 | + 7EA2BCD717BF8B6108E49F1344996DCF /* SDWebImageCacheSerializer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCacheSerializer.m; path = SDWebImage/Core/SDWebImageCacheSerializer.m; sourceTree = "<group>"; }; | |
| 661 | 695 | 7F0147BF35758A94C20B1F24F24622BB /* NSNumber+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNumber+YYAdd.h"; path = "YYKit/Base/Foundation/NSNumber+YYAdd.h"; sourceTree = "<group>"; }; |
| 662 | 696 | 7F0A032626FFA7C226DF55204CF32C5A /* CoreImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreImage.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/CoreImage.framework; sourceTree = DEVELOPER_DIR; }; |
| 697 | + 7F204DC3ADE5CAA2617773E3A9EFDDBB /* UIImageView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+WebCache.m"; path = "SDWebImage/Core/UIImageView+WebCache.m"; sourceTree = "<group>"; }; | |
| 663 | 698 | 80A4A26F23AC2E0F4F5EBC0F4B53543D /* YBIBDataMediator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBDataMediator.h; sourceTree = "<group>"; }; |
| 664 | - 81C7DA27208415129BC75A3AE0EC610D /* UIImage+Transform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Transform.m"; path = "SDWebImage/Core/UIImage+Transform.m"; sourceTree = "<group>"; }; | |
| 665 | 699 | 826A0D9FB100D729C86AB5FF081F6521 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Accelerate.framework; sourceTree = DEVELOPER_DIR; }; |
| 666 | - 82DA1AE31B883B0A558F1A7C451C5411 /* SDWebImageDownloaderRequestModifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderRequestModifier.h; path = SDWebImage/Core/SDWebImageDownloaderRequestModifier.h; sourceTree = "<group>"; }; | |
| 667 | - 843DE7A9D5751B6D1E4B542142E88BE5 /* SDImageCacheDefine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCacheDefine.h; path = SDWebImage/Core/SDImageCacheDefine.h; sourceTree = "<group>"; }; | |
| 700 | + 82CFF2AD22CF5568454DF140CCC1FBC4 /* UIImage+MultiFormat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MultiFormat.m"; path = "SDWebImage/Core/UIImage+MultiFormat.m"; sourceTree = "<group>"; }; | |
| 668 | 701 | 8475110C42C3E42DC61F264C6BE773D6 /* YYFileHash.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYFileHash.m; path = YYKit/Utility/YYFileHash.m; sourceTree = "<group>"; }; |
| 669 | 702 | 849AFCF98DA4C75651F5D475A19348D0 /* YBIBImageCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBImageCell.m; sourceTree = "<group>"; }; |
| 670 | - 85323CE74E87D9048ABFE6CB1D80BCB5 /* SDDiskCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDDiskCache.h; path = SDWebImage/Core/SDDiskCache.h; sourceTree = "<group>"; }; | |
| 671 | 703 | 854385CF82D745F34597998325666C1D /* YYTextDebugOption.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYTextDebugOption.h; path = YYKit/Text/Component/YYTextDebugOption.h; sourceTree = "<group>"; }; |
| 672 | - 880ED7B5A8CB58EE4EE46F97AAFC7934 /* SDImageCacheConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCacheConfig.h; path = SDWebImage/Core/SDImageCacheConfig.h; sourceTree = "<group>"; }; | |
| 704 | + 8582059F08F05B024B1E63DB97E6FC3D /* SDImageIOAnimatedCoderInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageIOAnimatedCoderInternal.h; path = SDWebImage/Private/SDImageIOAnimatedCoderInternal.h; sourceTree = "<group>"; }; | |
| 705 | + 8811346772E1C5599090A46F4A2D8681 /* NSBezierPath+SDRoundedCorners.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBezierPath+SDRoundedCorners.h"; path = "SDWebImage/Private/NSBezierPath+SDRoundedCorners.h"; sourceTree = "<group>"; }; | |
| 706 | + 885401F9AE5B59CB193871CFBB1551CC /* UIImage+ExtendedCacheData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+ExtendedCacheData.h"; path = "SDWebImage/Core/UIImage+ExtendedCacheData.h"; sourceTree = "<group>"; }; | |
| 673 | 707 | 88B3D662CF91D27FFEF32389911E85D0 /* UIImage+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+YYAdd.m"; path = "YYKit/Base/UIKit/UIImage+YYAdd.m"; sourceTree = "<group>"; }; |
| 674 | - 88B758940E94222028625182D6DD5C48 /* NSButton+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSButton+WebCache.m"; path = "SDWebImage/Core/NSButton+WebCache.m"; sourceTree = "<group>"; }; | |
| 675 | 708 | 88CA615592156E78420567B5D69F5B66 /* YYTextMagnifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYTextMagnifier.h; path = YYKit/Text/Component/YYTextMagnifier.h; sourceTree = "<group>"; }; |
| 676 | 709 | 89E1C94E51AFCA8ADEB14A14D7E5C910 /* YYTextRunDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYTextRunDelegate.h; path = YYKit/Text/String/YYTextRunDelegate.h; sourceTree = "<group>"; }; |
| 677 | 710 | 8B249154A723FBC9D15D68C5DBE38A9D /* YBImageBrowser_DSCnliveShop.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = YBImageBrowser_DSCnliveShop.podspec; sourceTree = "<group>"; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; |
| 678 | 711 | 8B4FF6780DBBE60AA8EAACC09BD33F72 /* Pods-YBImageBrowser_DSCnliveShop_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-YBImageBrowser_DSCnliveShop_Tests-umbrella.h"; sourceTree = "<group>"; }; |
| 679 | - 8B5C5257F6B18F69C086B439A25052BD /* SDWebImage.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SDWebImage.release.xcconfig; sourceTree = "<group>"; }; | |
| 680 | - 8C0EBBBE53B935FF0453555166C8BD82 /* NSImage+Compatibility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSImage+Compatibility.h"; path = "SDWebImage/Core/NSImage+Compatibility.h"; sourceTree = "<group>"; }; | |
| 681 | - 8D082DCD13F9572880B69B6E5DBA621E /* UIColor+HexString.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIColor+HexString.m"; path = "SDWebImage/Private/UIColor+HexString.m"; sourceTree = "<group>"; }; | |
| 682 | - 8D8872339E7C6C556DCFC2B144D97747 /* UIImage+ForceDecode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+ForceDecode.h"; path = "SDWebImage/Core/UIImage+ForceDecode.h"; sourceTree = "<group>"; }; | |
| 683 | - 8DE00CB7B46BD9384E27CFF44A22F3D6 /* SDImageCoderHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCoderHelper.m; path = SDWebImage/Core/SDImageCoderHelper.m; sourceTree = "<group>"; }; | |
| 712 | + 8D17D294A9F7DCF9895D5A3337D8B886 /* SDDiskCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDDiskCache.h; path = SDWebImage/Core/SDDiskCache.h; sourceTree = "<group>"; }; | |
| 684 | 713 | 8DF359196C08E19807F14F0B35AC0E0C /* YBIBVideoData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBVideoData.m; sourceTree = "<group>"; }; |
| 685 | 714 | 8E1DF05D31C52BDD36D3C352B6D38143 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/MobileCoreServices.framework; sourceTree = DEVELOPER_DIR; }; |
| 715 | + 8EADB1874F009D5810228B521E808F8C /* SDAnimatedImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImageView.m; path = SDWebImage/Core/SDAnimatedImageView.m; sourceTree = "<group>"; }; | |
| 716 | + 8F0B0EB007B67E5D110E4AA7E75CC5E8 /* SDWebImageDownloaderDecryptor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderDecryptor.h; path = SDWebImage/Core/SDWebImageDownloaderDecryptor.h; sourceTree = "<group>"; }; | |
| 717 | + 8F25D99C7ED5F7ECE058950E756B815B /* SDFileAttributeHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDFileAttributeHelper.h; path = SDWebImage/Private/SDFileAttributeHelper.h; sourceTree = "<group>"; }; | |
| 686 | 718 | 90A4B22BA3CB13452A0C80DA86A84A42 /* YYCGUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYCGUtilities.h; path = YYKit/Base/Quartz/YYCGUtilities.h; sourceTree = "<group>"; }; |
| 687 | 719 | 9126743F263F9F3BED4DDDB5EFF3F2C8 /* YYTextArchiver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYTextArchiver.h; path = YYKit/Text/String/YYTextArchiver.h; sourceTree = "<group>"; }; |
| 688 | 720 | 91553D071AF4EB06E69E3698FC4BBB17 /* YYKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YYKit-prefix.pch"; sourceTree = "<group>"; }; |
| 689 | - 9190FDE4BAFCFE9EEEC32C362D54FC14 /* SDWebImage.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SDWebImage.modulemap; sourceTree = "<group>"; }; | |
| 690 | - 92986682144C6A680D1688CC72DB03EB /* SDImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCache.h; path = SDWebImage/Core/SDImageCache.h; sourceTree = "<group>"; }; | |
| 721 | + 91C17D860CA95052284F7C9198001DC9 /* SDImageLoader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageLoader.h; path = SDWebImage/Core/SDImageLoader.h; sourceTree = "<group>"; }; | |
| 722 | + 92D743407EFB5C298F8E9856F618DE87 /* SDWebImageCacheKeyFilter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCacheKeyFilter.m; path = SDWebImage/Core/SDWebImageCacheKeyFilter.m; sourceTree = "<group>"; }; | |
| 691 | 723 | 9387B514E9488C1E4C98357D42D4112E /* NSBundle+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBundle+YYAdd.m"; path = "YYKit/Base/Foundation/NSBundle+YYAdd.m"; sourceTree = "<group>"; }; |
| 692 | 724 | 9505B72CDB9E287780696B552708241D /* MKAnnotationView+YYWebImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "MKAnnotationView+YYWebImage.m"; path = "YYKit/Image/Categories/MKAnnotationView+YYWebImage.m"; sourceTree = "<group>"; }; |
| 693 | - 95D767BEAA3A22D8C4B4F881F593EA55 /* SDAsyncBlockOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAsyncBlockOperation.m; path = SDWebImage/Private/SDAsyncBlockOperation.m; sourceTree = "<group>"; }; | |
| 694 | 725 | 95F7B5AB059394D73D87262D3556EB78 /* YYDiskCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYDiskCache.m; path = YYKit/Cache/YYDiskCache.m; sourceTree = "<group>"; }; |
| 695 | 726 | 96371E9C734320A546704E45E02ED3DE /* YBIBTopView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBTopView.m; sourceTree = "<group>"; }; |
| 727 | + 968801418C5808212099C7AAECFD942F /* SDWebImageDownloaderResponseModifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderResponseModifier.h; path = SDWebImage/Core/SDWebImageDownloaderResponseModifier.h; sourceTree = "<group>"; }; | |
| 696 | 728 | 96B1B4E18C7313B870A3AECA294EED03 /* NSTimer+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSTimer+YYAdd.m"; path = "YYKit/Base/Foundation/NSTimer+YYAdd.m"; sourceTree = "<group>"; }; |
| 697 | 729 | 97A38E03511200872A6CE102D312DA97 /* YBIBImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBImageCache.m; sourceTree = "<group>"; }; |
| 698 | 730 | 98AD2B257D836F916F990B6EA6B2E153 /* YBIBImageData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBImageData.m; sourceTree = "<group>"; }; |
| 699 | - 994DDB7514B65007DB23743EE9419955 /* SDAnimatedImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImage.m; path = SDWebImage/Core/SDAnimatedImage.m; sourceTree = "<group>"; }; | |
| 731 | + 9915D39521761F821273ED4AD94F462B /* SDWeakProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWeakProxy.h; path = SDWebImage/Private/SDWeakProxy.h; sourceTree = "<group>"; }; | |
| 732 | + 9998D272F6C21B92ECDBCC87B232F260 /* SDWebImageDownloaderOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderOperation.m; path = SDWebImage/Core/SDWebImageDownloaderOperation.m; sourceTree = "<group>"; }; | |
| 700 | 733 | 99C3520C09D1B40E7E268FF0D9C55D3A /* NSAttributedString+YYText.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSAttributedString+YYText.m"; path = "YYKit/Text/String/NSAttributedString+YYText.m"; sourceTree = "<group>"; }; |
| 701 | - 9A2C5A33CC842DF0109E16A40FED6D58 /* SDWebImageOptionsProcessor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageOptionsProcessor.m; path = SDWebImage/Core/SDWebImageOptionsProcessor.m; sourceTree = "<group>"; }; | |
| 702 | 734 | 9AD92986443124E1DCE997385B496FB7 /* YBIBIconManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBIconManager.m; sourceTree = "<group>"; }; |
| 703 | 735 | 9AF2E5796402740EB5340B609872DBEA /* YYMemoryCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYMemoryCache.h; path = YYKit/Cache/YYMemoryCache.h; sourceTree = "<group>"; }; |
| 704 | - 9B69A0F6649EAEED316A983843ED5614 /* SDWebImageDownloaderConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderConfig.m; path = SDWebImage/Core/SDWebImageDownloaderConfig.m; sourceTree = "<group>"; }; | |
| 736 | + 9B17144987DDC3673503BAA63081322E /* UIView+WebCacheOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCacheOperation.h"; path = "SDWebImage/Core/UIView+WebCacheOperation.h"; sourceTree = "<group>"; }; | |
| 737 | + 9B374325A4827DE6AA8D86E8A4CA0C0E /* SDAnimatedImageView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SDAnimatedImageView+WebCache.h"; path = "SDWebImage/Core/SDAnimatedImageView+WebCache.h"; sourceTree = "<group>"; }; | |
| 705 | 738 | 9B794942CBB5B6C0D1CF9F241EB18B3C /* YBIBUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBUtilities.m; sourceTree = "<group>"; }; |
| 706 | 739 | 9BB872492D04CC4C2B83ACB1537BCB51 /* YYTextSelectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYTextSelectionView.h; path = YYKit/Text/Component/YYTextSelectionView.h; sourceTree = "<group>"; }; |
| 707 | 740 | 9D38FB225790DDA600C42DF52D9CC17F /* NSObject+YYAddForARC.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+YYAddForARC.m"; path = "YYKit/Base/Foundation/NSObject+YYAddForARC.m"; sourceTree = "<group>"; }; |
| 708 | - 9D4F696743A974B8507BEF6FB323BB62 /* UIImage+GIF.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+GIF.m"; path = "SDWebImage/Core/UIImage+GIF.m"; sourceTree = "<group>"; }; | |
| 709 | 741 | 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; |
| 710 | 742 | 9DBD9F3341AE38C875BBD42C62516B07 /* YBIBVideoActionBar.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBVideoActionBar.m; sourceTree = "<group>"; }; |
| 743 | + 9DD82D69E6F6CA677C0FD0DB1910BEEB /* UIColor+SDHexString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIColor+SDHexString.h"; path = "SDWebImage/Private/UIColor+SDHexString.h"; sourceTree = "<group>"; }; | |
| 711 | 744 | 9DE54B8C45B333743F49C490C8A51D59 /* NSDate+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDate+YYAdd.h"; path = "YYKit/Base/Foundation/NSDate+YYAdd.h"; sourceTree = "<group>"; }; |
| 712 | 745 | 9E6FAD07C5929BC33D1A767B8226595D /* UIPasteboard+YYText.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIPasteboard+YYText.h"; path = "YYKit/Text/String/UIPasteboard+YYText.h"; sourceTree = "<group>"; }; |
| 713 | 746 | 9E718C6C13FF741C9062C0F849A452F2 /* YYTextLine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYTextLine.h; path = YYKit/Text/Component/YYTextLine.h; sourceTree = "<group>"; }; |
| ... | ... | @@ -719,35 +752,36 @@ |
| 719 | 752 | A1341A583321F6A80299E2B2D53093F0 /* YBIBToolViewHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBToolViewHandler.h; sourceTree = "<group>"; }; |
| 720 | 753 | A177B060DEA91DB2671E9EACA4576579 /* YYTextKeyboardManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYTextKeyboardManager.m; path = YYKit/Text/Component/YYTextKeyboardManager.m; sourceTree = "<group>"; }; |
| 721 | 754 | A182794A8F3D76711F0E02DA7FF03E94 /* UIGestureRecognizer+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIGestureRecognizer+YYAdd.m"; path = "YYKit/Base/UIKit/UIGestureRecognizer+YYAdd.m"; sourceTree = "<group>"; }; |
| 755 | + A1CF482AD1045FF137E38C654A5C5F0A /* SDImageCacheDefine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCacheDefine.h; path = SDWebImage/Core/SDImageCacheDefine.h; sourceTree = "<group>"; }; | |
| 722 | 756 | A27A22E1F51A515951549616C10A4D43 /* NSDate+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDate+YYAdd.m"; path = "YYKit/Base/Foundation/NSDate+YYAdd.m"; sourceTree = "<group>"; }; |
| 723 | 757 | A297B0A3BB16024B6497BE64883F91E7 /* YYAsyncLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYAsyncLayer.m; path = YYKit/Utility/YYAsyncLayer.m; sourceTree = "<group>"; }; |
| 724 | - A2EE608D10670E27D666BCB148BE76A8 /* SDImageCachesManagerOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCachesManagerOperation.m; path = SDWebImage/Private/SDImageCachesManagerOperation.m; sourceTree = "<group>"; }; | |
| 758 | + A2B670A4915027A69D8298ABAE7832C5 /* SDWebImagePrefetcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImagePrefetcher.h; path = SDWebImage/Core/SDWebImagePrefetcher.h; sourceTree = "<group>"; }; | |
| 725 | 759 | A328158B7BDCD9B9A54D7D40774FCC54 /* YBIBAuxiliaryViewHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBAuxiliaryViewHandler.h; sourceTree = "<group>"; }; |
| 726 | - A3F033ABEC9F3EFAA01FDA65E76374B4 /* SDWebImagePrefetcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImagePrefetcher.m; path = SDWebImage/Core/SDWebImagePrefetcher.m; sourceTree = "<group>"; }; | |
| 727 | - A4015B1017950B192730F1ABF2793542 /* SDWebImage-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SDWebImage-Info.plist"; sourceTree = "<group>"; }; | |
| 728 | 760 | A483F09FE887E66A6F02B7FCBE79F846 /* YBIBCellProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBCellProtocol.h; sourceTree = "<group>"; }; |
| 729 | 761 | A57EE7627E17C473032D3846ABCB164A /* YBIBToastView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBToastView.m; sourceTree = "<group>"; }; |
| 730 | 762 | A607C9A3CDD44ED7C4A717482C4D60A3 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; |
| 731 | 763 | A76D4662C854612618E547F25B4B90A5 /* _YYWebImageSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _YYWebImageSetter.h; path = YYKit/Image/Categories/_YYWebImageSetter.h; sourceTree = "<group>"; }; |
| 764 | + A788FE41CE72DC285C7E12274B2EEA45 /* SDImageCacheConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCacheConfig.m; path = SDWebImage/Core/SDImageCacheConfig.m; sourceTree = "<group>"; }; | |
| 765 | + A7D134637245A1D1291AEBC7FA27654E /* NSImage+Compatibility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSImage+Compatibility.h"; path = "SDWebImage/Core/NSImage+Compatibility.h"; sourceTree = "<group>"; }; | |
| 766 | + A7D32E803217C60CD15496E8FBD13FDF /* SDAsyncBlockOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAsyncBlockOperation.m; path = SDWebImage/Private/SDAsyncBlockOperation.m; sourceTree = "<group>"; }; | |
| 732 | 767 | A84A5680B20A545C99B07392B9AA4B21 /* UIImageView+YYWebImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+YYWebImage.m"; path = "YYKit/Image/Categories/UIImageView+YYWebImage.m"; sourceTree = "<group>"; }; |
| 768 | + A86C89F5D3FD68F631C6AAB3E9FFDB67 /* SDImageGraphics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageGraphics.h; path = SDWebImage/Core/SDImageGraphics.h; sourceTree = "<group>"; }; | |
| 733 | 769 | A8AF070443791A87599C26E1E46E74B1 /* YBIBSheetView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBSheetView.m; sourceTree = "<group>"; }; |
| 734 | 770 | AA0DFD4E17C227B014108A94D20370E6 /* YBIBInteractionProfile.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBInteractionProfile.m; sourceTree = "<group>"; }; |
| 735 | - AAF8FE9BD2DF30E81C73D0170BA7C814 /* SDImageGraphics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageGraphics.h; path = SDWebImage/Core/SDImageGraphics.h; sourceTree = "<group>"; }; | |
| 736 | 771 | AB96F3B4BB148DAF41FDE86DF14036F4 /* Pods-YBImageBrowser_DSCnliveShop_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-YBImageBrowser_DSCnliveShop_Example-frameworks.sh"; sourceTree = "<group>"; }; |
| 737 | 772 | AC5675312A245FA26DAC5D3DA60C6060 /* YYKitMacro.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYKitMacro.h; path = YYKit/Base/YYKitMacro.h; sourceTree = "<group>"; }; |
| 738 | 773 | ACB2C18C7F7569D6D85619691655DB76 /* YBIBPhotoAlbumManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBPhotoAlbumManager.h; sourceTree = "<group>"; }; |
| 739 | 774 | ACD89195E78715E8E03598ED048B1DB6 /* YBIBVideoTopBar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBVideoTopBar.h; sourceTree = "<group>"; }; |
| 740 | 775 | ACDDD031AB39EE10A73CBCA382968C97 /* NSDictionary+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+YYAdd.h"; path = "YYKit/Base/Foundation/NSDictionary+YYAdd.h"; sourceTree = "<group>"; }; |
| 741 | - ACDF74FCCC69765D4B60B3DBEC369C3D /* SDmetamacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDmetamacros.h; path = SDWebImage/Private/SDmetamacros.h; sourceTree = "<group>"; }; | |
| 742 | - AD998B4EBF0CD700BD542833326015DB /* SDWebImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImage.h; path = WebImage/SDWebImage.h; sourceTree = "<group>"; }; | |
| 743 | - AD9AD3087AA0C54D99784B1E96B8F385 /* SDWebImageIndicator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageIndicator.h; path = SDWebImage/Core/SDWebImageIndicator.h; sourceTree = "<group>"; }; | |
| 744 | 776 | ADE583D4B2310B6AB0833BF354A6DC60 /* YBIBVideoActionBar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBVideoActionBar.h; sourceTree = "<group>"; }; |
| 745 | 777 | AF18321586C240857382009824EBDB64 /* UIBezierPath+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIBezierPath+YYAdd.h"; path = "YYKit/Base/UIKit/UIBezierPath+YYAdd.h"; sourceTree = "<group>"; }; |
| 746 | 778 | AF2571FC04AEBB0049E5DF97CA8CB9F1 /* NSAttributedString+YYText.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSAttributedString+YYText.h"; path = "YYKit/Text/String/NSAttributedString+YYText.h"; sourceTree = "<group>"; }; |
| 747 | 779 | AF275D767348041345B5F9C14D9D9CA0 /* YYTextView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYTextView.h; path = YYKit/Text/YYTextView.h; sourceTree = "<group>"; }; |
| 780 | + AF3424AF58293B7AECCBA5ADAE1E90EB /* SDAnimatedImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImageView.h; path = SDWebImage/Core/SDAnimatedImageView.h; sourceTree = "<group>"; }; | |
| 748 | 781 | AFB40C28BD8BD37F15B50CB7E6A20928 /* YBIBOperateBrowserProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBOperateBrowserProtocol.h; sourceTree = "<group>"; }; |
| 749 | 782 | AFF0F50B5FE26ED59651D7C8D462D48E /* YBIBDataMediator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBDataMediator.m; sourceTree = "<group>"; }; |
| 750 | 783 | B0715021BC19551B9A5D5CB2408E7E2B /* YYWebImageOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYWebImageOperation.m; path = YYKit/Image/YYWebImageOperation.m; sourceTree = "<group>"; }; |
| 784 | + B083F58677FB62CBAA120E34B5932133 /* UIImageView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+WebCache.h"; path = "SDWebImage/Core/UIImageView+WebCache.h"; sourceTree = "<group>"; }; | |
| 751 | 785 | B0B214D775196BA7CA8E17E53048A493 /* SDWebImage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SDWebImage.framework; path = SDWebImage.framework; sourceTree = BUILT_PRODUCTS_DIR; }; |
| 752 | 786 | B1A650BD7991FDA4D59B763DC0B897B5 /* NSObject+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+YYAdd.h"; path = "YYKit/Base/Foundation/NSObject+YYAdd.h"; sourceTree = "<group>"; }; |
| 753 | 787 | B1F78325C1CF3117C990E0DBB1443AC4 /* YYTextRunDelegate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYTextRunDelegate.m; path = YYKit/Text/String/YYTextRunDelegate.m; sourceTree = "<group>"; }; |
| ... | ... | @@ -760,139 +794,145 @@ |
| 760 | 794 | B4A1D7FB30E0B1322F08017865D3AED6 /* UIGestureRecognizer+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIGestureRecognizer+YYAdd.h"; path = "YYKit/Base/UIKit/UIGestureRecognizer+YYAdd.h"; sourceTree = "<group>"; }; |
| 761 | 795 | B5756A1321B21D96C7A1AE0F5C4285AB /* YYKVStorage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYKVStorage.m; path = YYKit/Cache/YYKVStorage.m; sourceTree = "<group>"; }; |
| 762 | 796 | B5AA17CCA3C4553252CF80AEF70404A8 /* YYTextUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYTextUtilities.m; path = YYKit/Text/String/YYTextUtilities.m; sourceTree = "<group>"; }; |
| 763 | - B5F772E2006AB9FCF216A22126D6D46F /* SDImageCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCoder.h; path = SDWebImage/Core/SDImageCoder.h; sourceTree = "<group>"; }; | |
| 764 | 797 | B63F966DDF9161A1C29525E49D01A94F /* NSData+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+YYAdd.m"; path = "YYKit/Base/Foundation/NSData+YYAdd.m"; sourceTree = "<group>"; }; |
| 765 | 798 | B664849B9E38756422D4E0F139369652 /* UIScreen+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScreen+YYAdd.m"; path = "YYKit/Base/UIKit/UIScreen+YYAdd.m"; sourceTree = "<group>"; }; |
| 766 | 799 | B693FD0CA179F7A03CC3787C32366CA7 /* YBIBCopywriter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBCopywriter.h; sourceTree = "<group>"; }; |
| 767 | 800 | B70A20C0814370A0A1C72AE2E522CAEB /* UIBarButtonItem+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIBarButtonItem+YYAdd.m"; path = "YYKit/Base/UIKit/UIBarButtonItem+YYAdd.m"; sourceTree = "<group>"; }; |
| 801 | + B75EE1C0C625093DB3961800DCB992E6 /* SDWebImageDownloaderRequestModifier.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderRequestModifier.m; path = SDWebImage/Core/SDWebImageDownloaderRequestModifier.m; sourceTree = "<group>"; }; | |
| 768 | 802 | B7C9B42ACA0B5782A356C5AE7A908B3F /* YBIBGetBaseInfoProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBGetBaseInfoProtocol.h; sourceTree = "<group>"; }; |
| 769 | - B836409E7407CD373408BBEE6FB78A56 /* SDImageAssetManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageAssetManager.h; path = SDWebImage/Private/SDImageAssetManager.h; sourceTree = "<group>"; }; | |
| 770 | - B93B5CB4F97B4C63233C9781D9074385 /* SDWebImageError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageError.h; path = SDWebImage/Core/SDWebImageError.h; sourceTree = "<group>"; }; | |
| 771 | 803 | B9AB8CA329AC9F81339A2A1B4F0266FE /* YYFileHash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYFileHash.h; path = YYKit/Utility/YYFileHash.h; sourceTree = "<group>"; }; |
| 772 | 804 | B9C280A5938040751695347877F4D8C2 /* YYSpriteSheetImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYSpriteSheetImage.m; path = YYKit/Image/YYSpriteSheetImage.m; sourceTree = "<group>"; }; |
| 773 | 805 | B9EF0789AEFDBB03D69E8BF132003277 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/ImageIO.framework; sourceTree = DEVELOPER_DIR; }; |
| 774 | 806 | BAC4F1096AC0661BCC97A1690D41356F /* YYAnimatedImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYAnimatedImageView.m; path = YYKit/Image/YYAnimatedImageView.m; sourceTree = "<group>"; }; |
| 775 | 807 | BB6D4086660DB0E2BA9271C5D4780106 /* YBIBToastView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBToastView.h; sourceTree = "<group>"; }; |
| 776 | - BBC835DD376D230B30079993F2F5CDAA /* SDWebImageDefine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDefine.h; path = SDWebImage/Core/SDWebImageDefine.h; sourceTree = "<group>"; }; | |
| 777 | 808 | BC5FD9E63BBBE388DFDB5D32A946420D /* NSParagraphStyle+YYText.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSParagraphStyle+YYText.h"; path = "YYKit/Text/String/NSParagraphStyle+YYText.h"; sourceTree = "<group>"; }; |
| 778 | 809 | BCBF70C32E733B22D48AF84D60FF7B02 /* YYWebImageOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYWebImageOperation.h; path = YYKit/Image/YYWebImageOperation.h; sourceTree = "<group>"; }; |
| 810 | + BE3ECDB29BE68019FD7DE942E2F58BD0 /* SDWebImageDownloaderConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderConfig.h; path = SDWebImage/Core/SDWebImageDownloaderConfig.h; sourceTree = "<group>"; }; | |
| 779 | 811 | BE4A801C5A9481E70AE53035D5B98760 /* NSKeyedUnarchiver+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSKeyedUnarchiver+YYAdd.h"; path = "YYKit/Base/Foundation/NSKeyedUnarchiver+YYAdd.h"; sourceTree = "<group>"; }; |
| 780 | - BF2240205CFBA63D171F27ED059DA17F /* SDImageIOAnimatedCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageIOAnimatedCoder.m; path = SDWebImage/Core/SDImageIOAnimatedCoder.m; sourceTree = "<group>"; }; | |
| 781 | - C090D5ECCFD39D2D4DF00BFB1D9DAB81 /* UIImage+Metadata.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Metadata.m"; path = "SDWebImage/Core/UIImage+Metadata.m"; sourceTree = "<group>"; }; | |
| 782 | - C0F853EDBA5EE0AFD5FF80DF4E069774 /* SDWebImageManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageManager.m; path = SDWebImage/Core/SDWebImageManager.m; sourceTree = "<group>"; }; | |
| 783 | 812 | C183149AE26EC946A2F3DEA358713217 /* YYLabel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYLabel.h; path = YYKit/Text/YYLabel.h; sourceTree = "<group>"; }; |
| 813 | + C1B3FCC15992E25641767F7CD50BAA99 /* NSButton+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSButton+WebCache.h"; path = "SDWebImage/Core/NSButton+WebCache.h"; sourceTree = "<group>"; }; | |
| 814 | + C263B2AFBE7F6297AC0A2DD306AE5B6A /* SDImageHEICCoderInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageHEICCoderInternal.h; path = SDWebImage/Private/SDImageHEICCoderInternal.h; sourceTree = "<group>"; }; | |
| 784 | 815 | C2C48205DC5A7E61206B83FBA6C16A03 /* YYKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = YYKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; |
| 785 | - C2DE3B8DDA43BF244A83FA3A8E49B9C4 /* SDWebImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloader.m; path = SDWebImage/Core/SDWebImageDownloader.m; sourceTree = "<group>"; }; | |
| 786 | 816 | C33607D6BC000651FEC30D2EED376D88 /* SDWebImage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDWebImage.framework; sourceTree = BUILT_PRODUCTS_DIR; }; |
| 787 | - C343BEA71DA4406F27A27215550DB0CA /* SDWebImageIndicator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageIndicator.m; path = SDWebImage/Core/SDWebImageIndicator.m; sourceTree = "<group>"; }; | |
| 817 | + C36986E68072E6D37FC44159464E6E63 /* SDDiskCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDDiskCache.m; path = SDWebImage/Core/SDDiskCache.m; sourceTree = "<group>"; }; | |
| 788 | 818 | C38664F785477D7E2523617102E1EDC4 /* YBImageBrowser_DSCnliveShop.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = YBImageBrowser_DSCnliveShop.modulemap; sourceTree = "<group>"; }; |
| 819 | + C43DE0B9900A2DBDABA15312032D955B /* SDImageFrame.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageFrame.h; path = SDWebImage/Core/SDImageFrame.h; sourceTree = "<group>"; }; | |
| 789 | 820 | C44903C29949935DD57FD35B5C9BF35F /* YYKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = YYKit.release.xcconfig; sourceTree = "<group>"; }; |
| 790 | 821 | C468387A3C29B551DAA6C6AF5145ACB1 /* Pods-YBImageBrowser_DSCnliveShop_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-YBImageBrowser_DSCnliveShop_Tests.debug.xcconfig"; sourceTree = "<group>"; }; |
| 791 | 822 | C53CAE703785CC63612BF51D647BF00A /* Pods_YBImageBrowser_DSCnliveShop_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_YBImageBrowser_DSCnliveShop_Example.framework; path = "Pods-YBImageBrowser_DSCnliveShop_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; |
| 792 | - C54E545CC107D12C2F5AA2887BAF107E /* SDImageIOAnimatedCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageIOAnimatedCoder.h; path = SDWebImage/Core/SDImageIOAnimatedCoder.h; sourceTree = "<group>"; }; | |
| 823 | + C54648ED166C9850805DF18B9BF1A305 /* UIImage+Metadata.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Metadata.h"; path = "SDWebImage/Core/UIImage+Metadata.h"; sourceTree = "<group>"; }; | |
| 824 | + C550536A6B0FFCC49930C911A1A845CA /* SDWebImageOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageOperation.m; path = SDWebImage/Core/SDWebImageOperation.m; sourceTree = "<group>"; }; | |
| 793 | 825 | C5ECB9A46117BBECE7ED798130B798AA /* UIPasteboard+YYText.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIPasteboard+YYText.m"; path = "YYKit/Text/String/UIPasteboard+YYText.m"; sourceTree = "<group>"; }; |
| 826 | + C6064257443573B6B4428384FE55B429 /* UIImageView+HighlightedWebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+HighlightedWebCache.h"; path = "SDWebImage/Core/UIImageView+HighlightedWebCache.h"; sourceTree = "<group>"; }; | |
| 794 | 827 | C67FA1CF5455B750586F3E50B4AEE6B5 /* YYCGUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYCGUtilities.m; path = YYKit/Base/Quartz/YYCGUtilities.m; sourceTree = "<group>"; }; |
| 795 | 828 | C687ECF69184AC5484EFA0598E66B804 /* Pods-YBImageBrowser_DSCnliveShop_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-YBImageBrowser_DSCnliveShop_Tests-frameworks.sh"; sourceTree = "<group>"; }; |
| 796 | 829 | C6E9A2826ED6D4338904F22C672B4751 /* Pods-YBImageBrowser_DSCnliveShop_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-YBImageBrowser_DSCnliveShop_Tests.release.xcconfig"; sourceTree = "<group>"; }; |
| 797 | 830 | C705108BAA5E0F79A36A255F671FD73C /* YBImageBrowser_DSCnliveShop-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "YBImageBrowser_DSCnliveShop-dummy.m"; sourceTree = "<group>"; }; |
| 831 | + C758F6AA3BEFD52D81A2E68FD89C92BC /* SDImageGIFCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageGIFCoder.m; path = SDWebImage/Core/SDImageGIFCoder.m; sourceTree = "<group>"; }; | |
| 798 | 832 | C78F1C99D55F3A5B2B595CEAAF59A086 /* Pods-YBImageBrowser_DSCnliveShop_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-YBImageBrowser_DSCnliveShop_Tests-Info.plist"; sourceTree = "<group>"; }; |
| 799 | 833 | C805133F6D3AF69C8994E6375F7B7155 /* YYImageCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYImageCoder.h; path = YYKit/Image/YYImageCoder.h; sourceTree = "<group>"; }; |
| 800 | - C8CF816C63E5B6559556C778BE819AF4 /* UIImage+Metadata.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Metadata.h"; path = "SDWebImage/Core/UIImage+Metadata.h"; sourceTree = "<group>"; }; | |
| 834 | + C8D85332D2674E584830AC6CFE3141FE /* SDInternalMacros.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDInternalMacros.m; path = SDWebImage/Private/SDInternalMacros.m; sourceTree = "<group>"; }; | |
| 801 | 835 | C8FC24C723EADE5F3C5975BE2907EB1E /* YYTransaction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYTransaction.m; path = YYKit/Utility/YYTransaction.m; sourceTree = "<group>"; }; |
| 802 | 836 | C95F8792B9A29FF9F37927E606871D5B /* YYThreadSafeArray.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYThreadSafeArray.h; path = YYKit/Utility/YYThreadSafeArray.h; sourceTree = "<group>"; }; |
| 837 | + C9B03AE8F74ED6BF9967696B1F29AC24 /* SDImageLoader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageLoader.m; path = SDWebImage/Core/SDImageLoader.m; sourceTree = "<group>"; }; | |
| 803 | 838 | C9B5994C44BF5B2184C156762E7CE811 /* UIView+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+YYAdd.m"; path = "YYKit/Base/UIKit/UIView+YYAdd.m"; sourceTree = "<group>"; }; |
| 804 | - CA2F973E303B162092C59FA182AC2842 /* SDAsyncBlockOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAsyncBlockOperation.h; path = SDWebImage/Private/SDAsyncBlockOperation.h; sourceTree = "<group>"; }; | |
| 805 | 839 | CA7D546D1F3F75461DF8423D2BF90D68 /* YBIBImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBImageCache.h; sourceTree = "<group>"; }; |
| 806 | 840 | CAF78B066BA4AA1500A5DFC15357B69A /* YYTextLine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYTextLine.m; path = YYKit/Text/Component/YYTextLine.m; sourceTree = "<group>"; }; |
| 807 | - CB003CB825038F390A91BFD066D5DC11 /* SDImageAPNGCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageAPNGCoder.h; path = SDWebImage/Core/SDImageAPNGCoder.h; sourceTree = "<group>"; }; | |
| 808 | - CB33D1B5F3A87441C78240849B1BD409 /* NSImage+Compatibility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSImage+Compatibility.m"; path = "SDWebImage/Core/NSImage+Compatibility.m"; sourceTree = "<group>"; }; | |
| 841 | + CB6206FBA44F9BD5BB69EB2338D24399 /* SDAnimatedImageView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SDAnimatedImageView+WebCache.m"; path = "SDWebImage/Core/SDAnimatedImageView+WebCache.m"; sourceTree = "<group>"; }; | |
| 809 | 842 | CC069742328B0F99B589CD1E88042C72 /* YBIBImageData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBImageData.h; sourceTree = "<group>"; }; |
| 810 | - CCFF6195D3943C3B2EE93D641F705287 /* SDAnimatedImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImage.h; path = SDWebImage/Core/SDAnimatedImage.h; sourceTree = "<group>"; }; | |
| 811 | - CF824EAADAAA9D61882AC1E95A4FAAC5 /* UIImage+MultiFormat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+MultiFormat.h"; path = "SDWebImage/Core/UIImage+MultiFormat.h"; sourceTree = "<group>"; }; | |
| 812 | - D0BFF09BFCD201810684D60E49FC29B3 /* SDInternalMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDInternalMacros.h; path = SDWebImage/Private/SDInternalMacros.h; sourceTree = "<group>"; }; | |
| 843 | + CD970A6F82F507060C225F86F7A3F410 /* SDDeviceHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDDeviceHelper.h; path = SDWebImage/Private/SDDeviceHelper.h; sourceTree = "<group>"; }; | |
| 844 | + CDA24BB0F92E4A49AC0BE6BF22D67546 /* SDMemoryCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDMemoryCache.h; path = SDWebImage/Core/SDMemoryCache.h; sourceTree = "<group>"; }; | |
| 845 | + CE599BD66BC1D5DBF2513D84C9CF10D2 /* SDImageLoadersManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageLoadersManager.h; path = SDWebImage/Core/SDImageLoadersManager.h; sourceTree = "<group>"; }; | |
| 846 | + CEA5120287BD232F4C4CECF7D74E0104 /* SDImageCachesManagerOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCachesManagerOperation.m; path = SDWebImage/Private/SDImageCachesManagerOperation.m; sourceTree = "<group>"; }; | |
| 847 | + CF05C25EE17396B80BB50C70733D2421 /* SDImageCoderHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCoderHelper.h; path = SDWebImage/Core/SDImageCoderHelper.h; sourceTree = "<group>"; }; | |
| 848 | + CF9EB80B340726BF23F53617B34B3575 /* SDMemoryCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDMemoryCache.m; path = SDWebImage/Core/SDMemoryCache.m; sourceTree = "<group>"; }; | |
| 849 | + D0DD7284FE8B0C78E070E9DA2D0C46E2 /* SDImageCodersManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCodersManager.h; path = SDWebImage/Core/SDImageCodersManager.h; sourceTree = "<group>"; }; | |
| 813 | 850 | D12BADAA1C1EED1E8EFC4C3B586A68EF /* YYTextEffectWindow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYTextEffectWindow.m; path = YYKit/Text/Component/YYTextEffectWindow.m; sourceTree = "<group>"; }; |
| 851 | + D137AC86EF60C0DD4725A67DBED5F6EC /* SDAnimatedImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImage.m; path = SDWebImage/Core/SDAnimatedImage.m; sourceTree = "<group>"; }; | |
| 814 | 852 | D1A59D21F9903431B185E3E4DF0AFFEF /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/CoreText.framework; sourceTree = DEVELOPER_DIR; }; |
| 853 | + D1A63106E180D500BA4681CBFF159C50 /* UIImage+ForceDecode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+ForceDecode.h"; path = "SDWebImage/Core/UIImage+ForceDecode.h"; sourceTree = "<group>"; }; | |
| 815 | 854 | D233F6DF8E8D5110BD7F6E76747F33D8 /* YYReachability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYReachability.m; path = YYKit/Utility/YYReachability.m; sourceTree = "<group>"; }; |
| 816 | - D25E5ABBC1DC5FB5597B7FD6AF7395A6 /* SDAnimatedImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImageView.h; path = SDWebImage/Core/SDAnimatedImageView.h; sourceTree = "<group>"; }; | |
| 817 | 855 | D27CB4C11DD858E2346FCDB108967EE5 /* YYTextParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYTextParser.m; path = YYKit/Text/String/YYTextParser.m; sourceTree = "<group>"; }; |
| 818 | 856 | D2A8889944F3D4BE1188A99F60D3CA7A /* YYKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = YYKit.debug.xcconfig; sourceTree = "<group>"; }; |
| 819 | - D3B294F209BE90C307D3B79D646A580E /* SDImageCacheDefine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCacheDefine.m; path = SDWebImage/Core/SDImageCacheDefine.m; sourceTree = "<group>"; }; | |
| 857 | + D2BF5A3EEE1A287B05D28198D9F16C76 /* SDImageFrame.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageFrame.m; path = SDWebImage/Core/SDImageFrame.m; sourceTree = "<group>"; }; | |
| 820 | 858 | D4E670F4B8312D4F2B06ADC2B636AFE4 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = "<group>"; }; |
| 821 | - D5EFE1BA58FE69FA738DCB9784D3B2E0 /* SDImageLoadersManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageLoadersManager.m; path = SDWebImage/Core/SDImageLoadersManager.m; sourceTree = "<group>"; }; | |
| 859 | + D60E08CE2DF723239081CE2F04FA6324 /* SDWebImageOptionsProcessor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageOptionsProcessor.h; path = SDWebImage/Core/SDWebImageOptionsProcessor.h; sourceTree = "<group>"; }; | |
| 822 | 860 | D696C9B3DB7929040B3B11E0888CE4D6 /* UIButton+YYWebImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+YYWebImage.m"; path = "YYKit/Image/Categories/UIButton+YYWebImage.m"; sourceTree = "<group>"; }; |
| 823 | 861 | D7D005AD047909BDCC633A8A2F44C3E0 /* UIFont+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIFont+YYAdd.m"; path = "YYKit/Base/UIKit/UIFont+YYAdd.m"; sourceTree = "<group>"; }; |
| 824 | 862 | D90E67DC9CA5A5BBD19018BD64C3ED87 /* YBIBCollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBCollectionView.h; sourceTree = "<group>"; }; |
| 863 | + D99CAD8BB03A1ED3ACC306DE0083743C /* UIImageView+HighlightedWebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+HighlightedWebCache.m"; path = "SDWebImage/Core/UIImageView+HighlightedWebCache.m"; sourceTree = "<group>"; }; | |
| 864 | + DA18D81BDAB5332971532C646A936989 /* UIView+WebCacheOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCacheOperation.m"; path = "SDWebImage/Core/UIView+WebCacheOperation.m"; sourceTree = "<group>"; }; | |
| 825 | 865 | DA809AC31169252E62703BD0FBD06EE5 /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/AssetsLibrary.framework; sourceTree = DEVELOPER_DIR; }; |
| 826 | - DCA9751DEFA2CAEA416E397CD0197E4C /* SDMemoryCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDMemoryCache.m; path = SDWebImage/Core/SDMemoryCache.m; sourceTree = "<group>"; }; | |
| 866 | + DB7A93383CAC54408CD5E5B395011B2E /* NSData+ImageContentType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+ImageContentType.h"; path = "SDWebImage/Core/NSData+ImageContentType.h"; sourceTree = "<group>"; }; | |
| 867 | + DC9B7833ED252B3A3CDA8CD870E5136B /* SDAnimatedImagePlayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDAnimatedImagePlayer.h; path = SDWebImage/Core/SDAnimatedImagePlayer.h; sourceTree = "<group>"; }; | |
| 827 | 868 | DD5396322ED69A5415D1CCD0B6393CA3 /* UITableView+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UITableView+YYAdd.m"; path = "YYKit/Base/UIKit/UITableView+YYAdd.m"; sourceTree = "<group>"; }; |
| 828 | - DD7EB188DA7D4BC587FE249FF628B51C /* UIImage+ForceDecode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+ForceDecode.m"; path = "SDWebImage/Core/UIImage+ForceDecode.m"; sourceTree = "<group>"; }; | |
| 829 | - DDF0A0D18F37DBE6D852FCEA2251F1C1 /* UIImage+Transform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Transform.h"; path = "SDWebImage/Core/UIImage+Transform.h"; sourceTree = "<group>"; }; | |
| 830 | 869 | DE1BA937D17936A4E8CC48CCF258E498 /* YBImageBrowserDataSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBImageBrowserDataSource.h; sourceTree = "<group>"; }; |
| 831 | 870 | DEAEE433C1A4AC2340AD30180CD833DE /* YYAnimatedImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYAnimatedImageView.h; path = YYKit/Image/YYAnimatedImageView.h; sourceTree = "<group>"; }; |
| 871 | + DF00E591E4B26D6D1D35456AAE90B1C1 /* SDImageCacheConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCacheConfig.h; path = SDWebImage/Core/SDImageCacheConfig.h; sourceTree = "<group>"; }; | |
| 832 | 872 | DF010552264134747196B93F7030F079 /* YBIBToolViewHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBIBToolViewHandler.m; sourceTree = "<group>"; }; |
| 833 | - DF6A0A2DCDCF701127D57F57D20CEE46 /* SDImageHEICCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageHEICCoder.m; path = SDWebImage/Core/SDImageHEICCoder.m; sourceTree = "<group>"; }; | |
| 873 | + DF0BE15112187DE13F59F20FD37196BF /* SDWebImageTransitionInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageTransitionInternal.h; path = SDWebImage/Private/SDWebImageTransitionInternal.h; sourceTree = "<group>"; }; | |
| 834 | 874 | DFF08367FC3C8240577C21AB0C7C45C0 /* Pods-YBImageBrowser_DSCnliveShop_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-YBImageBrowser_DSCnliveShop_Example-acknowledgements.plist"; sourceTree = "<group>"; }; |
| 835 | - DFFBF564BC41F65FF3EF9F404A3FF8A5 /* NSBezierPath+RoundedCorners.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBezierPath+RoundedCorners.m"; path = "SDWebImage/Private/NSBezierPath+RoundedCorners.m"; sourceTree = "<group>"; }; | |
| 836 | - E028311EA2C17015A8136F9F9A3DEEEC /* UIButton+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+WebCache.h"; path = "SDWebImage/Core/UIButton+WebCache.h"; sourceTree = "<group>"; }; | |
| 837 | 875 | E06030C0DF9E059A44DC7D324FA93760 /* NSObject+YYModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+YYModel.m"; path = "YYKit/Model/NSObject+YYModel.m"; sourceTree = "<group>"; }; |
| 838 | 876 | E0EC1E067A40BD358E24914526274E18 /* UITableView+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UITableView+YYAdd.h"; path = "YYKit/Base/UIKit/UITableView+YYAdd.h"; sourceTree = "<group>"; }; |
| 839 | 877 | E11C276295B8B9FBB66B8CFCEDD10534 /* YBIBWebImageMediator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBWebImageMediator.h; sourceTree = "<group>"; }; |
| 840 | 878 | E1789ACB2E0A630C9C7419690313D4BD /* YYKeychain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYKeychain.h; path = YYKit/Utility/YYKeychain.h; sourceTree = "<group>"; }; |
| 841 | - E1824D23FFCDBDE557E8BCF4A5D1EB64 /* SDImageHEICCoderInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageHEICCoderInternal.h; path = SDWebImage/Private/SDImageHEICCoderInternal.h; sourceTree = "<group>"; }; | |
| 842 | 879 | E1BB297824FFFF51C70FA022B56A9D4F /* YBImageBrowser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = YBImageBrowser.m; sourceTree = "<group>"; }; |
| 843 | 880 | E1EF95E26F5A8BC0AD3CEC7DE8D50611 /* NSObject+YYAddForKVO.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+YYAddForKVO.m"; path = "YYKit/Base/Foundation/NSObject+YYAddForKVO.m"; sourceTree = "<group>"; }; |
| 881 | + E1FACAD68445DC5C8232A29CDDE00106 /* SDImageAPNGCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageAPNGCoder.h; path = SDWebImage/Core/SDImageAPNGCoder.h; sourceTree = "<group>"; }; | |
| 844 | 882 | E20C5E35E7CBCF4496931DDD69C93799 /* UIControl+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIControl+YYAdd.m"; path = "YYKit/Base/UIKit/UIControl+YYAdd.m"; sourceTree = "<group>"; }; |
| 845 | - E2F6363B89177C5ED56B90058D1B1B9A /* SDImageGraphics.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageGraphics.m; path = SDWebImage/Core/SDImageGraphics.m; sourceTree = "<group>"; }; | |
| 846 | 883 | E30659E8DA748D0CF9EA5E88C15DA2DA /* YYTextInput.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYTextInput.m; path = YYKit/Text/Component/YYTextInput.m; sourceTree = "<group>"; }; |
| 847 | 884 | E325DCCD357AF9DF2F7C506424659D7E /* YYKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = YYKit.framework; path = YYKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; |
| 848 | 885 | E326D6F0395EE4BAE670CD855A8D0176 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; }; |
| 849 | 886 | E467579343CF6E084F5AF44750D3B054 /* YYDispatchQueuePool.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYDispatchQueuePool.h; path = YYKit/Utility/YYDispatchQueuePool.h; sourceTree = "<group>"; }; |
| 850 | 887 | E515123172BB360DF3179CFE108F842C /* UIImage+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+YYAdd.h"; path = "YYKit/Base/UIKit/UIImage+YYAdd.h"; sourceTree = "<group>"; }; |
| 888 | + E5A710E84F3BA6FCB0CFF41E78AD5CBD /* SDWebImageDownloaderOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderOperation.h; path = SDWebImage/Core/SDWebImageDownloaderOperation.h; sourceTree = "<group>"; }; | |
| 851 | 889 | E6549BAAE978C54E9943845A282B7887 /* NSObject+YYAddForARC.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+YYAddForARC.h"; path = "YYKit/Base/Foundation/NSObject+YYAddForARC.h"; sourceTree = "<group>"; }; |
| 852 | - E6AC77D76359DA3AB60BBECA32896CFA /* SDWebImageCacheSerializer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCacheSerializer.m; path = SDWebImage/Core/SDWebImageCacheSerializer.m; sourceTree = "<group>"; }; | |
| 890 | + E6B26DB6EEA41E128F36B8CCD8BA6C90 /* SDAnimatedImagePlayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImagePlayer.m; path = SDWebImage/Core/SDAnimatedImagePlayer.m; sourceTree = "<group>"; }; | |
| 853 | 891 | E7A8CFE58CA45BE0CF414ED53D7E9831 /* YYTextInput.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYTextInput.h; path = YYKit/Text/Component/YYTextInput.h; sourceTree = "<group>"; }; |
| 854 | - E8864E2BCB6F0A60BF7660FD5CA61884 /* SDWebImageTransition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageTransition.h; path = SDWebImage/Core/SDWebImageTransition.h; sourceTree = "<group>"; }; | |
| 855 | 892 | E8D8F6D1F22DBBBCE9CEB97BF76ED5F6 /* YYMemoryCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYMemoryCache.m; path = YYKit/Cache/YYMemoryCache.m; sourceTree = "<group>"; }; |
| 856 | 893 | E904FC5D8903C2F05EA80AE4EB158849 /* YYTextDebugOption.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYTextDebugOption.m; path = YYKit/Text/Component/YYTextDebugOption.m; sourceTree = "<group>"; }; |
| 894 | + E94B7142D84F4E7AD5A126B60C5056AA /* SDImageCoderHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCoderHelper.m; path = SDWebImage/Core/SDImageCoderHelper.m; sourceTree = "<group>"; }; | |
| 857 | 895 | E97D1AED9A06E626CDC89DE4248FA2DF /* UIButton+YYWebImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+YYWebImage.h"; path = "YYKit/Image/Categories/UIButton+YYWebImage.h"; sourceTree = "<group>"; }; |
| 858 | 896 | EA76762360977A0F9DF281854B915408 /* WebP.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebP.framework; path = Vendor/WebP.framework; sourceTree = "<group>"; }; |
| 859 | - EB79E7A300B9098CE8EED7EB98A1E5AA /* SDWebImageDefine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDefine.m; path = SDWebImage/Core/SDWebImageDefine.m; sourceTree = "<group>"; }; | |
| 860 | - EBAB61DD2D434A28A27FC5DFC9B7D499 /* SDImageCacheConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCacheConfig.m; path = SDWebImage/Core/SDImageCacheConfig.m; sourceTree = "<group>"; }; | |
| 861 | - EBC3A38B3CF4356703DC4ABF85E1FB8C /* NSData+ImageContentType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+ImageContentType.h"; path = "SDWebImage/Core/NSData+ImageContentType.h"; sourceTree = "<group>"; }; | |
| 862 | 897 | EC297FCDA53117783E423EFCF34C4C6C /* YBIBInteractionProfile.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBInteractionProfile.h; sourceTree = "<group>"; }; |
| 898 | + ECCFB33F5B2FAFCB9059F1EA4872AD5E /* UIButton+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+WebCache.h"; path = "SDWebImage/Core/UIButton+WebCache.h"; sourceTree = "<group>"; }; | |
| 863 | 899 | ECF2A1D940AD2ABA3D907CE415109326 /* NSNotificationCenter+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+YYAdd.h"; path = "YYKit/Base/Foundation/NSNotificationCenter+YYAdd.h"; sourceTree = "<group>"; }; |
| 864 | 900 | ED78F9035D62E00668B4A848571B55C4 /* YBIBVideoView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBVideoView.h; sourceTree = "<group>"; }; |
| 865 | - EDCF5C73C34D7FE7CBD5AEC45E26DD16 /* SDWeakProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWeakProxy.h; path = SDWebImage/Private/SDWeakProxy.h; sourceTree = "<group>"; }; | |
| 866 | - EF4C3869889BF6E0FB48DB6D3E50C42B /* SDImageCachesManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCachesManager.h; path = SDWebImage/Core/SDImageCachesManager.h; sourceTree = "<group>"; }; | |
| 901 | + EF282CB27CB176AE4D81EB193162E61C /* SDImageGIFCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageGIFCoder.h; path = SDWebImage/Core/SDImageGIFCoder.h; sourceTree = "<group>"; }; | |
| 867 | 902 | EF5D08601B4B637FF284E68A8EEC858C /* NSArray+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+YYAdd.h"; path = "YYKit/Base/Foundation/NSArray+YYAdd.h"; sourceTree = "<group>"; }; |
| 903 | + EFBE035B06C6B5FC5316B23AA385AEB7 /* NSData+ImageContentType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+ImageContentType.m"; path = "SDWebImage/Core/NSData+ImageContentType.m"; sourceTree = "<group>"; }; | |
| 904 | + EFFC73CFCA9A8BA73DF3B34FE5E9C8B0 /* UIImage+Metadata.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Metadata.m"; path = "SDWebImage/Core/UIImage+Metadata.m"; sourceTree = "<group>"; }; | |
| 868 | 905 | F0C1D31C0ED9EAF5880440E2214DFB67 /* YBIBLoadingView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBLoadingView.h; sourceTree = "<group>"; }; |
| 869 | 906 | F170A24D4E53C3C47A8CE99795457D6A /* Pods-YBImageBrowser_DSCnliveShop_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-YBImageBrowser_DSCnliveShop_Example-umbrella.h"; sourceTree = "<group>"; }; |
| 870 | 907 | F223C16A87C557408148C7C83CCB705A /* YYImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYImage.m; path = YYKit/Image/YYImage.m; sourceTree = "<group>"; }; |
| 871 | 908 | F23B513D9D8F0D3A6E0802706EAAE0A0 /* YYClassInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYClassInfo.m; path = YYKit/Model/YYClassInfo.m; sourceTree = "<group>"; }; |
| 872 | 909 | F34CC7CBACC2F933C4B4839C7EC1F010 /* YYKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYKit.h; path = YYKit/YYKit.h; sourceTree = "<group>"; }; |
| 910 | + F37753D5DA03467158CF8F3BFA52E460 /* SDmetamacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDmetamacros.h; path = SDWebImage/Private/SDmetamacros.h; sourceTree = "<group>"; }; | |
| 873 | 911 | F3DE1A955E99033B5412502804883E07 /* YYDispatchQueuePool.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYDispatchQueuePool.m; path = YYKit/Utility/YYDispatchQueuePool.m; sourceTree = "<group>"; }; |
| 912 | + F3FA042CB9FEAE916F9354DD0FFDC410 /* SDImageCachesManagerOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCachesManagerOperation.h; path = SDWebImage/Private/SDImageCachesManagerOperation.h; sourceTree = "<group>"; }; | |
| 874 | 913 | F48485AE0CAFC4B57A15BC09F76DF01F /* YBIBVideoCell+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YBIBVideoCell+Internal.h"; sourceTree = "<group>"; }; |
| 875 | - F4BDDDF94411952465D7BEFFCA8B5C29 /* SDImageAPNGCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageAPNGCoder.m; path = SDWebImage/Core/SDImageAPNGCoder.m; sourceTree = "<group>"; }; | |
| 914 | + F4C26425407B34D7EF26491A3F6C3412 /* SDImageCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCoder.h; path = SDWebImage/Core/SDImageCoder.h; sourceTree = "<group>"; }; | |
| 876 | 915 | F5253D89927E6E90C258D665347D1F07 /* UIScreen+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScreen+YYAdd.h"; path = "YYKit/Base/UIKit/UIScreen+YYAdd.h"; sourceTree = "<group>"; }; |
| 877 | 916 | F5670120F17DFEC029094ABAC2358C59 /* YBIBVideoData+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YBIBVideoData+Internal.h"; sourceTree = "<group>"; }; |
| 878 | - F59687F8773BB30C3383C0C4473BA5A9 /* NSButton+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSButton+WebCache.h"; path = "SDWebImage/Core/NSButton+WebCache.h"; sourceTree = "<group>"; }; | |
| 917 | + F71C63A56CAAF9072729B55B779D9414 /* SDWebImageIndicator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageIndicator.m; path = SDWebImage/Core/SDWebImageIndicator.m; sourceTree = "<group>"; }; | |
| 879 | 918 | F72C19B1352F5752908C2B4982AD0FE4 /* UITextField+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UITextField+YYAdd.h"; path = "YYKit/Base/UIKit/UITextField+YYAdd.h"; sourceTree = "<group>"; }; |
| 880 | 919 | F73A399C03844F00743876DD304D6F5F /* YBIBContainerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBContainerView.h; sourceTree = "<group>"; }; |
| 920 | + F73E603FC59F5282264218DA84C3E5B7 /* SDImageHEICCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageHEICCoder.m; path = SDWebImage/Core/SDImageHEICCoder.m; sourceTree = "<group>"; }; | |
| 881 | 921 | F871C4EC920DBA02D64392716E35FB37 /* YBImageBrowser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBImageBrowser.h; sourceTree = "<group>"; }; |
| 882 | 922 | F891D9C6F80528B90027D56EA36CD7DA /* UIScrollView+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+YYAdd.h"; path = "YYKit/Base/UIKit/UIScrollView+YYAdd.h"; sourceTree = "<group>"; }; |
| 883 | 923 | F8D3E6C92E8F4DF67950E0380B5C4AD1 /* YYKVStorage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYKVStorage.h; path = YYKit/Cache/YYKVStorage.h; sourceTree = "<group>"; }; |
| 884 | 924 | F95AF0A9B4FD11599AC907D5ED78047F /* YBIBImageCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = YBIBImageCell.h; sourceTree = "<group>"; }; |
| 885 | 925 | FA31B22A4EC7CB38F40BE6C28871B56C /* NSThread+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSThread+YYAdd.m"; path = "YYKit/Base/Foundation/NSThread+YYAdd.m"; sourceTree = "<group>"; }; |
| 886 | 926 | FAAA1659DC5FA259CDDED68F436C2BF1 /* CALayer+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CALayer+YYAdd.m"; path = "YYKit/Base/Quartz/CALayer+YYAdd.m"; sourceTree = "<group>"; }; |
| 887 | - FB9F487DEA2EE1223E588AF5B7968BBC /* SDImageGIFCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageGIFCoder.h; path = SDWebImage/Core/SDImageGIFCoder.h; sourceTree = "<group>"; }; | |
| 888 | - FBAFB1147F9F60F82F67F2F93767AEA8 /* SDImageLoadersManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageLoadersManager.h; path = SDWebImage/Core/SDImageLoadersManager.h; sourceTree = "<group>"; }; | |
| 889 | 927 | FC399F5E175605828984C7E67A02DD73 /* NSObject+YYModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+YYModel.h"; path = "YYKit/Model/NSObject+YYModel.h"; sourceTree = "<group>"; }; |
| 890 | 928 | FC526297A9617C4BE9A6F090BD02A7EC /* YYWebImageManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYWebImageManager.m; path = YYKit/Image/YYWebImageManager.m; sourceTree = "<group>"; }; |
| 929 | + FCDCB1EFEE1048CBC6179F66B7E7E6E9 /* SDWebImageCompat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCompat.m; path = SDWebImage/Core/SDWebImageCompat.m; sourceTree = "<group>"; }; | |
| 891 | 930 | FD46990B6EBC034765E7F896D7692AF0 /* NSString+YYAdd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+YYAdd.h"; path = "YYKit/Base/Foundation/NSString+YYAdd.h"; sourceTree = "<group>"; }; |
| 892 | - FD9DAE7E5EAD3CA463241E107ADB319B /* SDWebImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloader.h; path = SDWebImage/Core/SDWebImageDownloader.h; sourceTree = "<group>"; }; | |
| 893 | 931 | FDAB2149ED799695566D25A14612AFD4 /* YYWeakProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYWeakProxy.h; path = YYKit/Utility/YYWeakProxy.h; sourceTree = "<group>"; }; |
| 932 | + FDF39D0D9A539DD852E83070D546838D /* SDWebImageDownloaderRequestModifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderRequestModifier.h; path = SDWebImage/Core/SDWebImageDownloaderRequestModifier.h; sourceTree = "<group>"; }; | |
| 933 | + FE71B363E5C4B1A08ED28F0F030C3610 /* SDAnimatedImageRep.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImageRep.m; path = SDWebImage/Core/SDAnimatedImageRep.m; sourceTree = "<group>"; }; | |
| 894 | 934 | FF1FC22A806424A9D295AA3C1785B496 /* NSObject+YYAdd.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+YYAdd.m"; path = "YYKit/Base/Foundation/NSObject+YYAdd.m"; sourceTree = "<group>"; }; |
| 895 | - FF96D9B286912D2041A6038E44BF9D78 /* SDWeakProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWeakProxy.m; path = SDWebImage/Private/SDWeakProxy.m; sourceTree = "<group>"; }; | |
| 935 | + FFC1A8B570BBF9B90CBC65027B601DEE /* SDImageIOAnimatedCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageIOAnimatedCoder.m; path = SDWebImage/Core/SDImageIOAnimatedCoder.m; sourceTree = "<group>"; }; | |
| 896 | 936 | /* End PBXFileReference section */ |
| 897 | 937 | |
| 898 | 938 | /* Begin PBXFrameworksBuildPhase section */ |
| ... | ... | @@ -931,22 +971,22 @@ |
| 931 | 971 | ); |
| 932 | 972 | runOnlyForDeploymentPostprocessing = 0; |
| 933 | 973 | }; |
| 934 | - D63F6433B5D27689683CDCF24F678FE6 /* Frameworks */ = { | |
| 974 | + 93E1803EFFB49B8B5D9BE9C3FF15E708 /* Frameworks */ = { | |
| 935 | 975 | isa = PBXFrameworksBuildPhase; |
| 936 | 976 | buildActionMask = 2147483647; |
| 937 | 977 | files = ( |
| 938 | - CD7563B5139A26E5B8B2587E0D658705 /* Foundation.framework in Frameworks */, | |
| 939 | - D92524C9E26C07719E07A9786B6B7892 /* SDWebImage.framework in Frameworks */, | |
| 940 | - 60B44F3A94381A9FC25BD53BCDBA7062 /* YYKit.framework in Frameworks */, | |
| 978 | + 8F0623242A13E39BB0068F748D5A7819 /* Foundation.framework in Frameworks */, | |
| 979 | + 7F47C6E48CDC5A9B788F8EB05D826BE6 /* ImageIO.framework in Frameworks */, | |
| 941 | 980 | ); |
| 942 | 981 | runOnlyForDeploymentPostprocessing = 0; |
| 943 | 982 | }; |
| 944 | - ECEA1B04AA580BD337B52CB84D1C00A8 /* Frameworks */ = { | |
| 983 | + D63F6433B5D27689683CDCF24F678FE6 /* Frameworks */ = { | |
| 945 | 984 | isa = PBXFrameworksBuildPhase; |
| 946 | 985 | buildActionMask = 2147483647; |
| 947 | 986 | files = ( |
| 948 | - 3B9737EB4BDEA61D7A6D7C2F83ADE16B /* Foundation.framework in Frameworks */, | |
| 949 | - 95AC0F0E049EC392931B147F1BA4C11E /* ImageIO.framework in Frameworks */, | |
| 987 | + CD7563B5139A26E5B8B2587E0D658705 /* Foundation.framework in Frameworks */, | |
| 988 | + D92524C9E26C07719E07A9786B6B7892 /* SDWebImage.framework in Frameworks */, | |
| 989 | + 60B44F3A94381A9FC25BD53BCDBA7062 /* YYKit.framework in Frameworks */, | |
| 950 | 990 | ); |
| 951 | 991 | runOnlyForDeploymentPostprocessing = 0; |
| 952 | 992 | }; |
| ... | ... | @@ -1015,6 +1055,154 @@ |
| 1015 | 1055 | name = Pod; |
| 1016 | 1056 | sourceTree = "<group>"; |
| 1017 | 1057 | }; |
| 1058 | + 1A858AEA06D9DB5413EC15E1834061B8 /* Core */ = { | |
| 1059 | + isa = PBXGroup; | |
| 1060 | + children = ( | |
| 1061 | + 8811346772E1C5599090A46F4A2D8681 /* NSBezierPath+SDRoundedCorners.h */, | |
| 1062 | + 608E04456BC00743986E00E4A8181EA3 /* NSBezierPath+SDRoundedCorners.m */, | |
| 1063 | + C1B3FCC15992E25641767F7CD50BAA99 /* NSButton+WebCache.h */, | |
| 1064 | + 4C8603634C14CA0EB02BA831268B0C10 /* NSButton+WebCache.m */, | |
| 1065 | + DB7A93383CAC54408CD5E5B395011B2E /* NSData+ImageContentType.h */, | |
| 1066 | + EFBE035B06C6B5FC5316B23AA385AEB7 /* NSData+ImageContentType.m */, | |
| 1067 | + A7D134637245A1D1291AEBC7FA27654E /* NSImage+Compatibility.h */, | |
| 1068 | + 4D6746DFA44B1641AE23A50377370530 /* NSImage+Compatibility.m */, | |
| 1069 | + 17C2170C0DA7F6751732A3F6F2D3304C /* SDAnimatedImage.h */, | |
| 1070 | + D137AC86EF60C0DD4725A67DBED5F6EC /* SDAnimatedImage.m */, | |
| 1071 | + DC9B7833ED252B3A3CDA8CD870E5136B /* SDAnimatedImagePlayer.h */, | |
| 1072 | + E6B26DB6EEA41E128F36B8CCD8BA6C90 /* SDAnimatedImagePlayer.m */, | |
| 1073 | + 71AEC717DE657C306DC4220359875899 /* SDAnimatedImageRep.h */, | |
| 1074 | + FE71B363E5C4B1A08ED28F0F030C3610 /* SDAnimatedImageRep.m */, | |
| 1075 | + AF3424AF58293B7AECCBA5ADAE1E90EB /* SDAnimatedImageView.h */, | |
| 1076 | + 8EADB1874F009D5810228B521E808F8C /* SDAnimatedImageView.m */, | |
| 1077 | + 9B374325A4827DE6AA8D86E8A4CA0C0E /* SDAnimatedImageView+WebCache.h */, | |
| 1078 | + CB6206FBA44F9BD5BB69EB2338D24399 /* SDAnimatedImageView+WebCache.m */, | |
| 1079 | + 12B66AB16766AB4060516E7814443E08 /* SDAssociatedObject.h */, | |
| 1080 | + 507EA85A920020FD53FDF4A254A318F9 /* SDAssociatedObject.m */, | |
| 1081 | + 14EF33DBBD181973544221E30D2DC4B9 /* SDAsyncBlockOperation.h */, | |
| 1082 | + A7D32E803217C60CD15496E8FBD13FDF /* SDAsyncBlockOperation.m */, | |
| 1083 | + CD970A6F82F507060C225F86F7A3F410 /* SDDeviceHelper.h */, | |
| 1084 | + 54932F1D65D4CE3969AD7014585252E6 /* SDDeviceHelper.m */, | |
| 1085 | + 8D17D294A9F7DCF9895D5A3337D8B886 /* SDDiskCache.h */, | |
| 1086 | + C36986E68072E6D37FC44159464E6E63 /* SDDiskCache.m */, | |
| 1087 | + 4EB5FC7AFB1E5240D21A6FE7DF89E87C /* SDDisplayLink.h */, | |
| 1088 | + 57001503938AEFE09B39A90CD56CF65A /* SDDisplayLink.m */, | |
| 1089 | + 8F25D99C7ED5F7ECE058950E756B815B /* SDFileAttributeHelper.h */, | |
| 1090 | + 615E844CC98D96DCD6F0EFE36CFF13BF /* SDFileAttributeHelper.m */, | |
| 1091 | + 6016CD6764077B1F107BD22483AA7D14 /* SDGraphicsImageRenderer.h */, | |
| 1092 | + 6DB88B001512FB115B60C0A194FAB687 /* SDGraphicsImageRenderer.m */, | |
| 1093 | + E1FACAD68445DC5C8232A29CDDE00106 /* SDImageAPNGCoder.h */, | |
| 1094 | + 1072A8A4B2B89ECA95DD401CFB50F108 /* SDImageAPNGCoder.m */, | |
| 1095 | + 657DCFEE5B399779371CC2AC2AAAA206 /* SDImageAssetManager.h */, | |
| 1096 | + 1C715A63047EF7CF84A44FC37DB4E919 /* SDImageAssetManager.m */, | |
| 1097 | + 14FC848A818168BBB863CFE049B98704 /* SDImageCache.h */, | |
| 1098 | + 232C7410166470C58B9D7DD4BEE465D6 /* SDImageCache.m */, | |
| 1099 | + DF00E591E4B26D6D1D35456AAE90B1C1 /* SDImageCacheConfig.h */, | |
| 1100 | + A788FE41CE72DC285C7E12274B2EEA45 /* SDImageCacheConfig.m */, | |
| 1101 | + A1CF482AD1045FF137E38C654A5C5F0A /* SDImageCacheDefine.h */, | |
| 1102 | + 1249E97F29FD39E6B5CA9DD3D122921C /* SDImageCacheDefine.m */, | |
| 1103 | + 5E05A254217112511844A5ABAEA26D88 /* SDImageCachesManager.h */, | |
| 1104 | + 3F7D6860C305EDC74687492EDEFC2325 /* SDImageCachesManager.m */, | |
| 1105 | + F3FA042CB9FEAE916F9354DD0FFDC410 /* SDImageCachesManagerOperation.h */, | |
| 1106 | + CEA5120287BD232F4C4CECF7D74E0104 /* SDImageCachesManagerOperation.m */, | |
| 1107 | + F4C26425407B34D7EF26491A3F6C3412 /* SDImageCoder.h */, | |
| 1108 | + 36C8C2D7C7ACA9C26136F7A7D1154082 /* SDImageCoder.m */, | |
| 1109 | + CF05C25EE17396B80BB50C70733D2421 /* SDImageCoderHelper.h */, | |
| 1110 | + E94B7142D84F4E7AD5A126B60C5056AA /* SDImageCoderHelper.m */, | |
| 1111 | + D0DD7284FE8B0C78E070E9DA2D0C46E2 /* SDImageCodersManager.h */, | |
| 1112 | + 7E26822C5FA7DDEE80076B4E7C2728A9 /* SDImageCodersManager.m */, | |
| 1113 | + C43DE0B9900A2DBDABA15312032D955B /* SDImageFrame.h */, | |
| 1114 | + D2BF5A3EEE1A287B05D28198D9F16C76 /* SDImageFrame.m */, | |
| 1115 | + EF282CB27CB176AE4D81EB193162E61C /* SDImageGIFCoder.h */, | |
| 1116 | + C758F6AA3BEFD52D81A2E68FD89C92BC /* SDImageGIFCoder.m */, | |
| 1117 | + A86C89F5D3FD68F631C6AAB3E9FFDB67 /* SDImageGraphics.h */, | |
| 1118 | + 13211B603D4A4D4D2724F2C5BB4407D3 /* SDImageGraphics.m */, | |
| 1119 | + 2E02A020962AA8A983BE9DEF489D5CC5 /* SDImageHEICCoder.h */, | |
| 1120 | + F73E603FC59F5282264218DA84C3E5B7 /* SDImageHEICCoder.m */, | |
| 1121 | + C263B2AFBE7F6297AC0A2DD306AE5B6A /* SDImageHEICCoderInternal.h */, | |
| 1122 | + 7CA02462DD9F35B55FD8C20DC0A0CDBC /* SDImageIOAnimatedCoder.h */, | |
| 1123 | + FFC1A8B570BBF9B90CBC65027B601DEE /* SDImageIOAnimatedCoder.m */, | |
| 1124 | + 8582059F08F05B024B1E63DB97E6FC3D /* SDImageIOAnimatedCoderInternal.h */, | |
| 1125 | + 2DC1F761B34C39B4907D5DB70157ABFC /* SDImageIOCoder.h */, | |
| 1126 | + 102A8609FE38B44A4F04554766133491 /* SDImageIOCoder.m */, | |
| 1127 | + 91C17D860CA95052284F7C9198001DC9 /* SDImageLoader.h */, | |
| 1128 | + C9B03AE8F74ED6BF9967696B1F29AC24 /* SDImageLoader.m */, | |
| 1129 | + CE599BD66BC1D5DBF2513D84C9CF10D2 /* SDImageLoadersManager.h */, | |
| 1130 | + 5D239E8639A886939B6B5EB58FC27342 /* SDImageLoadersManager.m */, | |
| 1131 | + 5DD0F8422DC31BC404DEB779AA5DB139 /* SDImageTransformer.h */, | |
| 1132 | + 115DF10AB89F4BD3959B0760E6FF7F5A /* SDImageTransformer.m */, | |
| 1133 | + 1ECDD31DCADBB91FE191C953267FFF2D /* SDInternalMacros.h */, | |
| 1134 | + C8D85332D2674E584830AC6CFE3141FE /* SDInternalMacros.m */, | |
| 1135 | + CDA24BB0F92E4A49AC0BE6BF22D67546 /* SDMemoryCache.h */, | |
| 1136 | + CF9EB80B340726BF23F53617B34B3575 /* SDMemoryCache.m */, | |
| 1137 | + F37753D5DA03467158CF8F3BFA52E460 /* SDmetamacros.h */, | |
| 1138 | + 9915D39521761F821273ED4AD94F462B /* SDWeakProxy.h */, | |
| 1139 | + 0786ADD48518359C5D9C950902C74B70 /* SDWeakProxy.m */, | |
| 1140 | + 467332BA4DF047A604E2AD170D2A9A6C /* SDWebImage.h */, | |
| 1141 | + 3C016044B645AE229C947C4E2E37F78B /* SDWebImageCacheKeyFilter.h */, | |
| 1142 | + 92D743407EFB5C298F8E9856F618DE87 /* SDWebImageCacheKeyFilter.m */, | |
| 1143 | + 3CA0E2F59E86C22963A7F42A601D4D9D /* SDWebImageCacheSerializer.h */, | |
| 1144 | + 7EA2BCD717BF8B6108E49F1344996DCF /* SDWebImageCacheSerializer.m */, | |
| 1145 | + 618EA55D0CE2B6CFE74715E49A256295 /* SDWebImageCompat.h */, | |
| 1146 | + FCDCB1EFEE1048CBC6179F66B7E7E6E9 /* SDWebImageCompat.m */, | |
| 1147 | + 3103E35D6924D70FC117A1BFA21077C8 /* SDWebImageDefine.h */, | |
| 1148 | + 7025B67B4A01BBCCCFB1958DC25846D2 /* SDWebImageDefine.m */, | |
| 1149 | + 165A9BD2C6ABE7C53969D2E146053DCC /* SDWebImageDownloader.h */, | |
| 1150 | + 4B31C91F7BAC29DAB475F9F033793951 /* SDWebImageDownloader.m */, | |
| 1151 | + BE3ECDB29BE68019FD7DE942E2F58BD0 /* SDWebImageDownloaderConfig.h */, | |
| 1152 | + 255A9E38BCE069FD5BD5AA7B2554059D /* SDWebImageDownloaderConfig.m */, | |
| 1153 | + 8F0B0EB007B67E5D110E4AA7E75CC5E8 /* SDWebImageDownloaderDecryptor.h */, | |
| 1154 | + 5566B7FA1592DB68F47F538060773A34 /* SDWebImageDownloaderDecryptor.m */, | |
| 1155 | + E5A710E84F3BA6FCB0CFF41E78AD5CBD /* SDWebImageDownloaderOperation.h */, | |
| 1156 | + 9998D272F6C21B92ECDBCC87B232F260 /* SDWebImageDownloaderOperation.m */, | |
| 1157 | + FDF39D0D9A539DD852E83070D546838D /* SDWebImageDownloaderRequestModifier.h */, | |
| 1158 | + B75EE1C0C625093DB3961800DCB992E6 /* SDWebImageDownloaderRequestModifier.m */, | |
| 1159 | + 968801418C5808212099C7AAECFD942F /* SDWebImageDownloaderResponseModifier.h */, | |
| 1160 | + 0804ADB1BA257EF0FBCE5877305E5CBA /* SDWebImageDownloaderResponseModifier.m */, | |
| 1161 | + 03964B173BAD2879E938A697CDE23E58 /* SDWebImageError.h */, | |
| 1162 | + 0A70D2708290382BD7D9078C968FDBFD /* SDWebImageError.m */, | |
| 1163 | + 176BE9B96FD0004A2FDAD77CA2B59BEF /* SDWebImageIndicator.h */, | |
| 1164 | + F71C63A56CAAF9072729B55B779D9414 /* SDWebImageIndicator.m */, | |
| 1165 | + 2FBBBA584888406A53BBAB4C8E646119 /* SDWebImageManager.h */, | |
| 1166 | + 4294BEEA87AE1F76B25087B05E8A9958 /* SDWebImageManager.m */, | |
| 1167 | + 491254BCC101B0465D55540272375AB3 /* SDWebImageOperation.h */, | |
| 1168 | + C550536A6B0FFCC49930C911A1A845CA /* SDWebImageOperation.m */, | |
| 1169 | + D60E08CE2DF723239081CE2F04FA6324 /* SDWebImageOptionsProcessor.h */, | |
| 1170 | + 4A1019E03A5B1C662AEA03A27BAD9451 /* SDWebImageOptionsProcessor.m */, | |
| 1171 | + A2B670A4915027A69D8298ABAE7832C5 /* SDWebImagePrefetcher.h */, | |
| 1172 | + 6721C57EE2049316FC7DFA0EC2F61B33 /* SDWebImagePrefetcher.m */, | |
| 1173 | + 060133C4A0CD84D7E43EA5A6AE35A7BA /* SDWebImageTransition.h */, | |
| 1174 | + 7136C53C3E86DF97021DEAC46C3AF414 /* SDWebImageTransition.m */, | |
| 1175 | + DF0BE15112187DE13F59F20FD37196BF /* SDWebImageTransitionInternal.h */, | |
| 1176 | + ECCFB33F5B2FAFCB9059F1EA4872AD5E /* UIButton+WebCache.h */, | |
| 1177 | + 03C7B13F9A65433A2099280BB0853B83 /* UIButton+WebCache.m */, | |
| 1178 | + 9DD82D69E6F6CA677C0FD0DB1910BEEB /* UIColor+SDHexString.h */, | |
| 1179 | + 1062A5D5F16F52CCF19B547AC48CFF6B /* UIColor+SDHexString.m */, | |
| 1180 | + 885401F9AE5B59CB193871CFBB1551CC /* UIImage+ExtendedCacheData.h */, | |
| 1181 | + 20421D13A41D462848F051647414A829 /* UIImage+ExtendedCacheData.m */, | |
| 1182 | + D1A63106E180D500BA4681CBFF159C50 /* UIImage+ForceDecode.h */, | |
| 1183 | + 4423F2AF5E01BBBB5F27784F5DA57247 /* UIImage+ForceDecode.m */, | |
| 1184 | + 3A20F815CD4F1A80CA68C34C3039D331 /* UIImage+GIF.h */, | |
| 1185 | + 3C7A36D864638BFBD8FEE3A451FAC9B3 /* UIImage+GIF.m */, | |
| 1186 | + 1780A6FB6896D6EE58CA176A32A91167 /* UIImage+MemoryCacheCost.h */, | |
| 1187 | + 4F30AC9537E6584F35D8DD4C10EDB7B1 /* UIImage+MemoryCacheCost.m */, | |
| 1188 | + C54648ED166C9850805DF18B9BF1A305 /* UIImage+Metadata.h */, | |
| 1189 | + EFFC73CFCA9A8BA73DF3B34FE5E9C8B0 /* UIImage+Metadata.m */, | |
| 1190 | + 03A09A7D80E19CC940BE2323D0536D61 /* UIImage+MultiFormat.h */, | |
| 1191 | + 82CFF2AD22CF5568454DF140CCC1FBC4 /* UIImage+MultiFormat.m */, | |
| 1192 | + 615E0DE04702B1FE637909AB79E77479 /* UIImage+Transform.h */, | |
| 1193 | + 77BDAC0316DE945EDC00877B001E3F13 /* UIImage+Transform.m */, | |
| 1194 | + C6064257443573B6B4428384FE55B429 /* UIImageView+HighlightedWebCache.h */, | |
| 1195 | + D99CAD8BB03A1ED3ACC306DE0083743C /* UIImageView+HighlightedWebCache.m */, | |
| 1196 | + B083F58677FB62CBAA120E34B5932133 /* UIImageView+WebCache.h */, | |
| 1197 | + 7F204DC3ADE5CAA2617773E3A9EFDDBB /* UIImageView+WebCache.m */, | |
| 1198 | + 64D193C84163B92004E21BE9A8A13B71 /* UIView+WebCache.h */, | |
| 1199 | + 5573ECAD013B67C3DCA80D7EFBDE031B /* UIView+WebCache.m */, | |
| 1200 | + 9B17144987DDC3673503BAA63081322E /* UIView+WebCacheOperation.h */, | |
| 1201 | + DA18D81BDAB5332971532C646A936989 /* UIView+WebCacheOperation.m */, | |
| 1202 | + ); | |
| 1203 | + name = Core; | |
| 1204 | + sourceTree = "<group>"; | |
| 1205 | + }; | |
| 1018 | 1206 | 2114D1F9BC187D61883E9A4E077458A4 /* ToolView */ = { |
| 1019 | 1207 | isa = PBXGroup; |
| 1020 | 1208 | children = ( |
| ... | ... | @@ -1067,149 +1255,6 @@ |
| 1067 | 1255 | name = Frameworks; |
| 1068 | 1256 | sourceTree = "<group>"; |
| 1069 | 1257 | }; |
| 1070 | - 418B8500CC0BC65A0DE0B609A2F36DA8 /* Core */ = { | |
| 1071 | - isa = PBXGroup; | |
| 1072 | - children = ( | |
| 1073 | - 480531E7E6576BA8EBC67D80A2410524 /* NSBezierPath+RoundedCorners.h */, | |
| 1074 | - DFFBF564BC41F65FF3EF9F404A3FF8A5 /* NSBezierPath+RoundedCorners.m */, | |
| 1075 | - F59687F8773BB30C3383C0C4473BA5A9 /* NSButton+WebCache.h */, | |
| 1076 | - 88B758940E94222028625182D6DD5C48 /* NSButton+WebCache.m */, | |
| 1077 | - EBC3A38B3CF4356703DC4ABF85E1FB8C /* NSData+ImageContentType.h */, | |
| 1078 | - 6BF16A9C9A9AF5DDC141A40D41D0467E /* NSData+ImageContentType.m */, | |
| 1079 | - 8C0EBBBE53B935FF0453555166C8BD82 /* NSImage+Compatibility.h */, | |
| 1080 | - CB33D1B5F3A87441C78240849B1BD409 /* NSImage+Compatibility.m */, | |
| 1081 | - CCFF6195D3943C3B2EE93D641F705287 /* SDAnimatedImage.h */, | |
| 1082 | - 994DDB7514B65007DB23743EE9419955 /* SDAnimatedImage.m */, | |
| 1083 | - 6F7A1C78766D1A651D4233A02DFD21C1 /* SDAnimatedImageRep.h */, | |
| 1084 | - 45487E9C2D9132F54E6DD142FDADCBAF /* SDAnimatedImageRep.m */, | |
| 1085 | - D25E5ABBC1DC5FB5597B7FD6AF7395A6 /* SDAnimatedImageView.h */, | |
| 1086 | - 2594CEE3269A686FE6A32ADF1ACDA903 /* SDAnimatedImageView.m */, | |
| 1087 | - 458C3BA863BEC4A0D1766E7096A16EF8 /* SDAnimatedImageView+WebCache.h */, | |
| 1088 | - 523A9DF244F75BFD8EF7183295D79237 /* SDAnimatedImageView+WebCache.m */, | |
| 1089 | - CA2F973E303B162092C59FA182AC2842 /* SDAsyncBlockOperation.h */, | |
| 1090 | - 95D767BEAA3A22D8C4B4F881F593EA55 /* SDAsyncBlockOperation.m */, | |
| 1091 | - 85323CE74E87D9048ABFE6CB1D80BCB5 /* SDDiskCache.h */, | |
| 1092 | - 17822DDCEE5C075412F1B1A731F006F2 /* SDDiskCache.m */, | |
| 1093 | - CB003CB825038F390A91BFD066D5DC11 /* SDImageAPNGCoder.h */, | |
| 1094 | - F4BDDDF94411952465D7BEFFCA8B5C29 /* SDImageAPNGCoder.m */, | |
| 1095 | - B836409E7407CD373408BBEE6FB78A56 /* SDImageAssetManager.h */, | |
| 1096 | - 26EEACAD4CFF038839E5CAE01FC51426 /* SDImageAssetManager.m */, | |
| 1097 | - 92986682144C6A680D1688CC72DB03EB /* SDImageCache.h */, | |
| 1098 | - 4C86D29287795201B7A91BA858DBC2FB /* SDImageCache.m */, | |
| 1099 | - 880ED7B5A8CB58EE4EE46F97AAFC7934 /* SDImageCacheConfig.h */, | |
| 1100 | - EBAB61DD2D434A28A27FC5DFC9B7D499 /* SDImageCacheConfig.m */, | |
| 1101 | - 843DE7A9D5751B6D1E4B542142E88BE5 /* SDImageCacheDefine.h */, | |
| 1102 | - D3B294F209BE90C307D3B79D646A580E /* SDImageCacheDefine.m */, | |
| 1103 | - EF4C3869889BF6E0FB48DB6D3E50C42B /* SDImageCachesManager.h */, | |
| 1104 | - 14AEC03CE74FA3C1ED22FD08ACDC489F /* SDImageCachesManager.m */, | |
| 1105 | - 0E9E88F1E31A013B69A717855A9A782E /* SDImageCachesManagerOperation.h */, | |
| 1106 | - A2EE608D10670E27D666BCB148BE76A8 /* SDImageCachesManagerOperation.m */, | |
| 1107 | - B5F772E2006AB9FCF216A22126D6D46F /* SDImageCoder.h */, | |
| 1108 | - 2FD9BD14816B4B34D6B032B14FCBCD17 /* SDImageCoder.m */, | |
| 1109 | - 5820AFD9CB1F531DEEEA85AE53BA9FB1 /* SDImageCoderHelper.h */, | |
| 1110 | - 8DE00CB7B46BD9384E27CFF44A22F3D6 /* SDImageCoderHelper.m */, | |
| 1111 | - 106CDD63C990007C4EBED229576FD0E6 /* SDImageCodersManager.h */, | |
| 1112 | - 7A3758E1F2262F48C18DEA44579E7F23 /* SDImageCodersManager.m */, | |
| 1113 | - 3F679F8EE0717580BF2DF10529B314ED /* SDImageFrame.h */, | |
| 1114 | - 0D7D182C7944184D8687D02BC5895C8A /* SDImageFrame.m */, | |
| 1115 | - FB9F487DEA2EE1223E588AF5B7968BBC /* SDImageGIFCoder.h */, | |
| 1116 | - 29332085AB2D0312202A5E4DA9903355 /* SDImageGIFCoder.m */, | |
| 1117 | - AAF8FE9BD2DF30E81C73D0170BA7C814 /* SDImageGraphics.h */, | |
| 1118 | - E2F6363B89177C5ED56B90058D1B1B9A /* SDImageGraphics.m */, | |
| 1119 | - 1EE818633CBD870C5763EC5A7DEEFEBB /* SDImageHEICCoder.h */, | |
| 1120 | - DF6A0A2DCDCF701127D57F57D20CEE46 /* SDImageHEICCoder.m */, | |
| 1121 | - E1824D23FFCDBDE557E8BCF4A5D1EB64 /* SDImageHEICCoderInternal.h */, | |
| 1122 | - C54E545CC107D12C2F5AA2887BAF107E /* SDImageIOAnimatedCoder.h */, | |
| 1123 | - BF2240205CFBA63D171F27ED059DA17F /* SDImageIOAnimatedCoder.m */, | |
| 1124 | - 74C01AF8051358A2AD340A5AB3505F28 /* SDImageIOAnimatedCoderInternal.h */, | |
| 1125 | - 7DC9E6937FC0DCAFBFE9BC1CC778D6C9 /* SDImageIOCoder.h */, | |
| 1126 | - 7492D3D26ACA17BE066949BC5402EFA6 /* SDImageIOCoder.m */, | |
| 1127 | - 0F882F7E87C969BC4F446959C4C96507 /* SDImageLoader.h */, | |
| 1128 | - 0AA629F1636B9E5C1E7779416F41894F /* SDImageLoader.m */, | |
| 1129 | - FBAFB1147F9F60F82F67F2F93767AEA8 /* SDImageLoadersManager.h */, | |
| 1130 | - D5EFE1BA58FE69FA738DCB9784D3B2E0 /* SDImageLoadersManager.m */, | |
| 1131 | - 662B362504EE532B6C5EAA6DEDDC5D23 /* SDImageTransformer.h */, | |
| 1132 | - 78D88E09C574752B379AC19B8561A84F /* SDImageTransformer.m */, | |
| 1133 | - D0BFF09BFCD201810684D60E49FC29B3 /* SDInternalMacros.h */, | |
| 1134 | - 565EA3FF9DE0069950D12760CD92E6DF /* SDInternalMacros.m */, | |
| 1135 | - 2C6338E013B6CE8A040D3B94EC208F53 /* SDMemoryCache.h */, | |
| 1136 | - DCA9751DEFA2CAEA416E397CD0197E4C /* SDMemoryCache.m */, | |
| 1137 | - ACDF74FCCC69765D4B60B3DBEC369C3D /* SDmetamacros.h */, | |
| 1138 | - EDCF5C73C34D7FE7CBD5AEC45E26DD16 /* SDWeakProxy.h */, | |
| 1139 | - FF96D9B286912D2041A6038E44BF9D78 /* SDWeakProxy.m */, | |
| 1140 | - AD998B4EBF0CD700BD542833326015DB /* SDWebImage.h */, | |
| 1141 | - 2C68FD0A33D48BF8511F5E1F0AF5F38C /* SDWebImageCacheKeyFilter.h */, | |
| 1142 | - 3C89C4C20801869E17ED28D5BC0002C7 /* SDWebImageCacheKeyFilter.m */, | |
| 1143 | - 631A43488B8C087EA660030CD2484EA9 /* SDWebImageCacheSerializer.h */, | |
| 1144 | - E6AC77D76359DA3AB60BBECA32896CFA /* SDWebImageCacheSerializer.m */, | |
| 1145 | - 3BAFBDA5FBFB046872240DAA694DBA9D /* SDWebImageCompat.h */, | |
| 1146 | - 4EB6A999880D99C4B8EAE70EC4D73221 /* SDWebImageCompat.m */, | |
| 1147 | - BBC835DD376D230B30079993F2F5CDAA /* SDWebImageDefine.h */, | |
| 1148 | - EB79E7A300B9098CE8EED7EB98A1E5AA /* SDWebImageDefine.m */, | |
| 1149 | - FD9DAE7E5EAD3CA463241E107ADB319B /* SDWebImageDownloader.h */, | |
| 1150 | - C2DE3B8DDA43BF244A83FA3A8E49B9C4 /* SDWebImageDownloader.m */, | |
| 1151 | - 22D6E01939BAAB30A2190ACA1D161CDB /* SDWebImageDownloaderConfig.h */, | |
| 1152 | - 9B69A0F6649EAEED316A983843ED5614 /* SDWebImageDownloaderConfig.m */, | |
| 1153 | - 6076834A27CA897C42FFDA170BDE4715 /* SDWebImageDownloaderOperation.h */, | |
| 1154 | - 0027B01676377B9218BE8AA537BDAA8A /* SDWebImageDownloaderOperation.m */, | |
| 1155 | - 82DA1AE31B883B0A558F1A7C451C5411 /* SDWebImageDownloaderRequestModifier.h */, | |
| 1156 | - 1A7213E5D815346B024AC2C78B59AE7E /* SDWebImageDownloaderRequestModifier.m */, | |
| 1157 | - B93B5CB4F97B4C63233C9781D9074385 /* SDWebImageError.h */, | |
| 1158 | - 4D82E5E2C22405F57D03467E23EA118F /* SDWebImageError.m */, | |
| 1159 | - AD9AD3087AA0C54D99784B1E96B8F385 /* SDWebImageIndicator.h */, | |
| 1160 | - C343BEA71DA4406F27A27215550DB0CA /* SDWebImageIndicator.m */, | |
| 1161 | - 645FAD055E96DC89E3CF7A287A4B4F87 /* SDWebImageManager.h */, | |
| 1162 | - C0F853EDBA5EE0AFD5FF80DF4E069774 /* SDWebImageManager.m */, | |
| 1163 | - 3977DF74625040A3E0128C656F9FA8D0 /* SDWebImageOperation.h */, | |
| 1164 | - 5E7D951E27DDF1D0327C691AC350863B /* SDWebImageOptionsProcessor.h */, | |
| 1165 | - 9A2C5A33CC842DF0109E16A40FED6D58 /* SDWebImageOptionsProcessor.m */, | |
| 1166 | - 6E0438EB685599B92473E4BBB56C9271 /* SDWebImagePrefetcher.h */, | |
| 1167 | - A3F033ABEC9F3EFAA01FDA65E76374B4 /* SDWebImagePrefetcher.m */, | |
| 1168 | - E8864E2BCB6F0A60BF7660FD5CA61884 /* SDWebImageTransition.h */, | |
| 1169 | - 6F4A5B2FFD435932DC069C91BA243B8A /* SDWebImageTransition.m */, | |
| 1170 | - E028311EA2C17015A8136F9F9A3DEEEC /* UIButton+WebCache.h */, | |
| 1171 | - 604FBD4A36B51CB23593D6E7144E0A66 /* UIButton+WebCache.m */, | |
| 1172 | - 5E4DCEAC007F7F72A2323A6304B0F4A4 /* UIColor+HexString.h */, | |
| 1173 | - 8D082DCD13F9572880B69B6E5DBA621E /* UIColor+HexString.m */, | |
| 1174 | - 8D8872339E7C6C556DCFC2B144D97747 /* UIImage+ForceDecode.h */, | |
| 1175 | - DD7EB188DA7D4BC587FE249FF628B51C /* UIImage+ForceDecode.m */, | |
| 1176 | - 03917DDCF8C121DD56B0AD9B603C2B9D /* UIImage+GIF.h */, | |
| 1177 | - 9D4F696743A974B8507BEF6FB323BB62 /* UIImage+GIF.m */, | |
| 1178 | - 45EBF80603A6BB114FFDF460A6A20CC7 /* UIImage+MemoryCacheCost.h */, | |
| 1179 | - 23C27D070CBE7191DD5328960C7C772E /* UIImage+MemoryCacheCost.m */, | |
| 1180 | - C8CF816C63E5B6559556C778BE819AF4 /* UIImage+Metadata.h */, | |
| 1181 | - C090D5ECCFD39D2D4DF00BFB1D9DAB81 /* UIImage+Metadata.m */, | |
| 1182 | - CF824EAADAAA9D61882AC1E95A4FAAC5 /* UIImage+MultiFormat.h */, | |
| 1183 | - 2FB82601936A52D10C46ABDED4C4D68E /* UIImage+MultiFormat.m */, | |
| 1184 | - DDF0A0D18F37DBE6D852FCEA2251F1C1 /* UIImage+Transform.h */, | |
| 1185 | - 81C7DA27208415129BC75A3AE0EC610D /* UIImage+Transform.m */, | |
| 1186 | - 397498F9C1EC4E17B000928E2E9A2551 /* UIImageView+HighlightedWebCache.h */, | |
| 1187 | - 4E907072812DC6E02160321606CBFFD2 /* UIImageView+HighlightedWebCache.m */, | |
| 1188 | - 4532E0D4D1C1FCB630416F347E791110 /* UIImageView+WebCache.h */, | |
| 1189 | - 42406C450631485B971273EE79B37A12 /* UIImageView+WebCache.m */, | |
| 1190 | - 0847D06FD8D970FB3747D3FFE1EF1A98 /* UIView+WebCache.h */, | |
| 1191 | - 6C25A06B05CE4932A05E03D9A5B91E1A /* UIView+WebCache.m */, | |
| 1192 | - 2B9F2CAB3EBC390CC9C5DF6FEB4AE54E /* UIView+WebCacheOperation.h */, | |
| 1193 | - 6821ACBD9902AD3AEC5766052616BEFC /* UIView+WebCacheOperation.m */, | |
| 1194 | - ); | |
| 1195 | - name = Core; | |
| 1196 | - sourceTree = "<group>"; | |
| 1197 | - }; | |
| 1198 | - 4A12BD7E0F24F7DA5CB75AC152DCA427 /* Support Files */ = { | |
| 1199 | - isa = PBXGroup; | |
| 1200 | - children = ( | |
| 1201 | - 9190FDE4BAFCFE9EEEC32C362D54FC14 /* SDWebImage.modulemap */, | |
| 1202 | - 1FB1475C6AAE3E931553C57D2012437B /* SDWebImage-dummy.m */, | |
| 1203 | - A4015B1017950B192730F1ABF2793542 /* SDWebImage-Info.plist */, | |
| 1204 | - 2E14AFE886371F80BB03C9261CAE653A /* SDWebImage-prefix.pch */, | |
| 1205 | - 159B608142C5AD0E99E00479F64CDAFE /* SDWebImage-umbrella.h */, | |
| 1206 | - 35974735D558DD140EC7A519306676BF /* SDWebImage.debug.xcconfig */, | |
| 1207 | - 8B5C5257F6B18F69C086B439A25052BD /* SDWebImage.release.xcconfig */, | |
| 1208 | - ); | |
| 1209 | - name = "Support Files"; | |
| 1210 | - path = "../Target Support Files/SDWebImage"; | |
| 1211 | - sourceTree = "<group>"; | |
| 1212 | - }; | |
| 1213 | 1258 | 6395BBC4FE7C6C41AE1CB6A3363066BD /* Targets Support Files */ = { |
| 1214 | 1259 | isa = PBXGroup; |
| 1215 | 1260 | children = ( |
| ... | ... | @@ -1244,6 +1289,21 @@ |
| 1244 | 1289 | path = Image; |
| 1245 | 1290 | sourceTree = "<group>"; |
| 1246 | 1291 | }; |
| 1292 | + 710F178F0547C8EE314E14F2AB2C4124 /* Support Files */ = { | |
| 1293 | + isa = PBXGroup; | |
| 1294 | + children = ( | |
| 1295 | + 3E74798ACDDA5B166130859C04575723 /* SDWebImage.modulemap */, | |
| 1296 | + 61733D38B2BF61692321B0EAD6CE7AAC /* SDWebImage-dummy.m */, | |
| 1297 | + 15DA0DE7F827744C2CD1C503B90ED22A /* SDWebImage-Info.plist */, | |
| 1298 | + 3AEC8F623A6884FBFC7CF8D4309918D7 /* SDWebImage-prefix.pch */, | |
| 1299 | + 2DED8461605A23446E943D5B44AC07FB /* SDWebImage-umbrella.h */, | |
| 1300 | + 3937A5FCAE6FD5C9CBFD132D61702EB0 /* SDWebImage.debug.xcconfig */, | |
| 1301 | + 69B6E48A6A7BF7FDA397F18D808442A2 /* SDWebImage.release.xcconfig */, | |
| 1302 | + ); | |
| 1303 | + name = "Support Files"; | |
| 1304 | + path = "../Target Support Files/SDWebImage"; | |
| 1305 | + sourceTree = "<group>"; | |
| 1306 | + }; | |
| 1247 | 1307 | 7681CA34E755E133CA6962CC78CCA732 /* YBImageBrowser */ = { |
| 1248 | 1308 | isa = PBXGroup; |
| 1249 | 1309 | children = ( |
| ... | ... | @@ -1261,16 +1321,6 @@ |
| 1261 | 1321 | path = YBImageBrowser_DSCnliveShop/Classes/YBImageBrowser; |
| 1262 | 1322 | sourceTree = "<group>"; |
| 1263 | 1323 | }; |
| 1264 | - 7A014A40B4BE421CD0E89DA824A04413 /* SDWebImage */ = { | |
| 1265 | - isa = PBXGroup; | |
| 1266 | - children = ( | |
| 1267 | - 418B8500CC0BC65A0DE0B609A2F36DA8 /* Core */, | |
| 1268 | - 4A12BD7E0F24F7DA5CB75AC152DCA427 /* Support Files */, | |
| 1269 | - ); | |
| 1270 | - name = SDWebImage; | |
| 1271 | - path = SDWebImage; | |
| 1272 | - sourceTree = "<group>"; | |
| 1273 | - }; | |
| 1274 | 1324 | 9A9577D5B370441D1926FE268E305F56 /* Resources */ = { |
| 1275 | 1325 | isa = PBXGroup; |
| 1276 | 1326 | children = ( |
| ... | ... | @@ -1298,7 +1348,7 @@ |
| 1298 | 1348 | A2BE8DF77D03508B9B8418BD9602255F /* Pods */ = { |
| 1299 | 1349 | isa = PBXGroup; |
| 1300 | 1350 | children = ( |
| 1301 | - 7A014A40B4BE421CD0E89DA824A04413 /* SDWebImage */, | |
| 1351 | + FEF90DB2DC962AA8A54D42B042F65B9E /* SDWebImage */, | |
| 1302 | 1352 | B0A9653E4CBB5BBF0D27A9511C0EE8C4 /* YYKit */, |
| 1303 | 1353 | ); |
| 1304 | 1354 | name = Pods; |
| ... | ... | @@ -1611,6 +1661,16 @@ |
| 1611 | 1661 | name = Frameworks; |
| 1612 | 1662 | sourceTree = "<group>"; |
| 1613 | 1663 | }; |
| 1664 | + FEF90DB2DC962AA8A54D42B042F65B9E /* SDWebImage */ = { | |
| 1665 | + isa = PBXGroup; | |
| 1666 | + children = ( | |
| 1667 | + 1A858AEA06D9DB5413EC15E1834061B8 /* Core */, | |
| 1668 | + 710F178F0547C8EE314E14F2AB2C4124 /* Support Files */, | |
| 1669 | + ); | |
| 1670 | + name = SDWebImage; | |
| 1671 | + path = SDWebImage; | |
| 1672 | + sourceTree = "<group>"; | |
| 1673 | + }; | |
| 1614 | 1674 | FF6E94A47A5FB0D3A3409B902104CDC9 /* Helper */ = { |
| 1615 | 1675 | isa = PBXGroup; |
| 1616 | 1676 | children = ( |
| ... | ... | @@ -1786,74 +1846,84 @@ |
| 1786 | 1846 | ); |
| 1787 | 1847 | runOnlyForDeploymentPostprocessing = 0; |
| 1788 | 1848 | }; |
| 1789 | - CA4065646A60ED133DABD1609AE9B77F /* Headers */ = { | |
| 1849 | + CB6048343884143F7919689F2F9BEEA2 /* Headers */ = { | |
| 1790 | 1850 | isa = PBXHeadersBuildPhase; |
| 1791 | 1851 | buildActionMask = 2147483647; |
| 1792 | 1852 | files = ( |
| 1793 | - 2BB48CC4F4CCB6ED239A7116C1399192 /* NSBezierPath+RoundedCorners.h in Headers */, | |
| 1794 | - C8719B604AC23450E05D0E2F5716C8EE /* NSButton+WebCache.h in Headers */, | |
| 1795 | - E1A13F65E327E70ED0A0322ED9D4E004 /* NSData+ImageContentType.h in Headers */, | |
| 1796 | - 584691DE6F6DC43CCB28E2164DDD65C5 /* NSImage+Compatibility.h in Headers */, | |
| 1797 | - 5B6E86C662422D902876E9564F7D0D62 /* SDAnimatedImage.h in Headers */, | |
| 1798 | - F9CD37EE6DD796D86FAFCE65C106D553 /* SDAnimatedImageRep.h in Headers */, | |
| 1799 | - E807BB2D53EF822DDA0109BEB8F33F4B /* SDAnimatedImageView+WebCache.h in Headers */, | |
| 1800 | - F7C220B780BE3FFD43D49EB09A4AA120 /* SDAnimatedImageView.h in Headers */, | |
| 1801 | - 56D932D22CCE25078DDC72863C793EB6 /* SDAsyncBlockOperation.h in Headers */, | |
| 1802 | - 89AA4B620BAF006802F7FE16331FBB03 /* SDDiskCache.h in Headers */, | |
| 1803 | - F4A2A3265060EE0EC36AE153BA2F11F1 /* SDImageAPNGCoder.h in Headers */, | |
| 1804 | - 31C885C264ACBC869D0C15774FEEEE91 /* SDImageAssetManager.h in Headers */, | |
| 1805 | - CED0ADFAFACBD8EAC91D8FDFAD72CC3D /* SDImageCache.h in Headers */, | |
| 1806 | - 4A63641D8EA2784EA3ED6DE31D3EEE7B /* SDImageCacheConfig.h in Headers */, | |
| 1807 | - 6E23CCE1DD2C5694FB3733EF5969C2BA /* SDImageCacheDefine.h in Headers */, | |
| 1808 | - 1D8DC86B542A5C7B185D576593BFEF08 /* SDImageCachesManager.h in Headers */, | |
| 1809 | - 07ECBE230ADCE64A5E565EAC5608FE06 /* SDImageCachesManagerOperation.h in Headers */, | |
| 1810 | - 3F1C17F8ED3A2719985697A88379D691 /* SDImageCoder.h in Headers */, | |
| 1811 | - 41D2B74D60CECB9A13273FEA70EB0853 /* SDImageCoderHelper.h in Headers */, | |
| 1812 | - 765CF9D27014B63D63045C295D14D47F /* SDImageCodersManager.h in Headers */, | |
| 1813 | - 4E303A392C14264AF2A7846A47904C0E /* SDImageFrame.h in Headers */, | |
| 1814 | - A9FB0B1C38B3DF1982D4D8F8B3B99A4E /* SDImageGIFCoder.h in Headers */, | |
| 1815 | - A522F73D14A2CB4DE43E00754C6D504B /* SDImageGraphics.h in Headers */, | |
| 1816 | - 0A12ECF7CCD9D053812435656179FE07 /* SDImageHEICCoder.h in Headers */, | |
| 1817 | - 3402867F1DCE2F01EE152BE666D15391 /* SDImageHEICCoderInternal.h in Headers */, | |
| 1818 | - DB7CB011D38A0CF4CBA6380FF04F0B61 /* SDImageIOAnimatedCoder.h in Headers */, | |
| 1819 | - 4FB58F2A627219E59C6002407BA17370 /* SDImageIOAnimatedCoderInternal.h in Headers */, | |
| 1820 | - 16EBE72F21A776BA4F5FA1B43DA0D550 /* SDImageIOCoder.h in Headers */, | |
| 1821 | - 9F8771C9472203AC8A6B882D32E081FD /* SDImageLoader.h in Headers */, | |
| 1822 | - 66E7DB4A06FD62E3319504FA066A159D /* SDImageLoadersManager.h in Headers */, | |
| 1823 | - 93EEC3D112C8D5BAF8202BBB7C0F8D40 /* SDImageTransformer.h in Headers */, | |
| 1824 | - B241B25BC7903216B219BCFDD5533ED2 /* SDInternalMacros.h in Headers */, | |
| 1825 | - 0897E820C9A330AEE938549F3A202047 /* SDMemoryCache.h in Headers */, | |
| 1826 | - CB6B765C0485EA0801AC5AD27B988336 /* SDmetamacros.h in Headers */, | |
| 1827 | - EC2A8CA5F7249A4197E707E8008C2CAF /* SDWeakProxy.h in Headers */, | |
| 1828 | - 78C4797B83602657490272FB5AC87882 /* SDWebImage-umbrella.h in Headers */, | |
| 1829 | - 31486EEF2AE7067DC3FB4C41D8B06044 /* SDWebImage.h in Headers */, | |
| 1830 | - B1635A0F2A9E883F5F9478F04F5F9B00 /* SDWebImageCacheKeyFilter.h in Headers */, | |
| 1831 | - 83A3C38994C1BE0F1B3FDC74FF3EB86E /* SDWebImageCacheSerializer.h in Headers */, | |
| 1832 | - B27865F2F8513D2BAF80C119865014B2 /* SDWebImageCompat.h in Headers */, | |
| 1833 | - D9B0AE61DB0C28C1A453C57DBAA9894C /* SDWebImageDefine.h in Headers */, | |
| 1834 | - FC5F561CA670D699F300DDA4FE2D8314 /* SDWebImageDownloader.h in Headers */, | |
| 1835 | - 9A0E1A1BFFD28A2746792BE8D568E3AC /* SDWebImageDownloaderConfig.h in Headers */, | |
| 1836 | - 571964893E54957A53F88749EA22E79B /* SDWebImageDownloaderOperation.h in Headers */, | |
| 1837 | - CA2A04B40C4584BB62EDF451D4691393 /* SDWebImageDownloaderRequestModifier.h in Headers */, | |
| 1838 | - 1A645DC3F75D98F78F685E7E8172E6C4 /* SDWebImageError.h in Headers */, | |
| 1839 | - 5BB4DED775A9AB9259E214C9543F2409 /* SDWebImageIndicator.h in Headers */, | |
| 1840 | - DBB84BD7F62230F01B7533CF5DB8E2B8 /* SDWebImageManager.h in Headers */, | |
| 1841 | - 5D93304CCA386D1CA921179A22788088 /* SDWebImageOperation.h in Headers */, | |
| 1842 | - B9EAA2FEBC24879CE426A200D1943850 /* SDWebImageOptionsProcessor.h in Headers */, | |
| 1843 | - FA626556DE0DB5DBE98269492EB9D858 /* SDWebImagePrefetcher.h in Headers */, | |
| 1844 | - FA1132270226AEC00FD163A760F5BFDD /* SDWebImageTransition.h in Headers */, | |
| 1845 | - 972F3D3004A38B2E91B514317462F912 /* UIButton+WebCache.h in Headers */, | |
| 1846 | - AA4B92512944686F23ABE5632656872E /* UIColor+HexString.h in Headers */, | |
| 1847 | - 130C29DD67F0DACDAA2E6A57DA2422D7 /* UIImage+ForceDecode.h in Headers */, | |
| 1848 | - 06012BECF3390F6D209D81ABC29DEE7F /* UIImage+GIF.h in Headers */, | |
| 1849 | - D4C9FCF4108BF46522DA445E47524A6A /* UIImage+MemoryCacheCost.h in Headers */, | |
| 1850 | - 21C54761AEC4B6FF8F628CF62503856C /* UIImage+Metadata.h in Headers */, | |
| 1851 | - 43367367332A88EC53B2BEA287BAA3DD /* UIImage+MultiFormat.h in Headers */, | |
| 1852 | - 11631B3F15728204C488D6CF17DA63BF /* UIImage+Transform.h in Headers */, | |
| 1853 | - 6B841305B372900E43EAD6CF233EA695 /* UIImageView+HighlightedWebCache.h in Headers */, | |
| 1854 | - 06EF6A665BCC7FDFD85BD8ABD55A3959 /* UIImageView+WebCache.h in Headers */, | |
| 1855 | - 902A0F8F36BB0CD612BD333AB538FFC0 /* UIView+WebCache.h in Headers */, | |
| 1856 | - 768B0529984555456940B969FB3B0C5B /* UIView+WebCacheOperation.h in Headers */, | |
| 1853 | + D0725567B7BD18C79A04E5EC9C72249D /* NSBezierPath+SDRoundedCorners.h in Headers */, | |
| 1854 | + 449AF3A1E1DEFBD47B2411DAD0E5D6CC /* NSButton+WebCache.h in Headers */, | |
| 1855 | + EB634403E13B36687931F62769C04F66 /* NSData+ImageContentType.h in Headers */, | |
| 1856 | + 9C6F61B6DD8964A03128BB996BCCCDF5 /* NSImage+Compatibility.h in Headers */, | |
| 1857 | + 1201437E196032353D4D2B2DF8206775 /* SDAnimatedImage.h in Headers */, | |
| 1858 | + 9B0ADFBD0EE010BC1AE32B290FAF2D70 /* SDAnimatedImagePlayer.h in Headers */, | |
| 1859 | + 86A92CFC75F685F5805824C81ED34DD9 /* SDAnimatedImageRep.h in Headers */, | |
| 1860 | + 6F14B66A0031F8CD2DBD49D05F285A5A /* SDAnimatedImageView+WebCache.h in Headers */, | |
| 1861 | + 40DD3721BA61598A56ECF57BB1C45EE8 /* SDAnimatedImageView.h in Headers */, | |
| 1862 | + 85B91AFDF4CF2F4FB54D35AE96CB02DE /* SDAssociatedObject.h in Headers */, | |
| 1863 | + 7C9BCCE2BE2AB0F74617E9638E8383E2 /* SDAsyncBlockOperation.h in Headers */, | |
| 1864 | + 09EB95CBDF8D54EB05C26A5196EBBB65 /* SDDeviceHelper.h in Headers */, | |
| 1865 | + DE311CA167D40330E2B71F4726A6B789 /* SDDiskCache.h in Headers */, | |
| 1866 | + 1367682CED02F22D43F248A0E36CC17B /* SDDisplayLink.h in Headers */, | |
| 1867 | + 69FC796803AADF6F7D78E034F759E07A /* SDFileAttributeHelper.h in Headers */, | |
| 1868 | + 5BCB8102AFF58BDD96E0C059F9B88BB5 /* SDGraphicsImageRenderer.h in Headers */, | |
| 1869 | + C88E97ED465D3973A3D9FD7AE94BDB9A /* SDImageAPNGCoder.h in Headers */, | |
| 1870 | + 8860B7C942F4FDAC599E545DEC6E0446 /* SDImageAssetManager.h in Headers */, | |
| 1871 | + 9140B89832569466DC295558951FF9A4 /* SDImageCache.h in Headers */, | |
| 1872 | + 0CD7B135FD4B84BDB1FB8727A2F85550 /* SDImageCacheConfig.h in Headers */, | |
| 1873 | + A26011648EA7CD910788DBBF08C36F32 /* SDImageCacheDefine.h in Headers */, | |
| 1874 | + E9B97B2FD84DF4015AABD7E5978A710F /* SDImageCachesManager.h in Headers */, | |
| 1875 | + 78A8F86E5996E580294B65E304C65F6A /* SDImageCachesManagerOperation.h in Headers */, | |
| 1876 | + 8BE030582BFA5590BC7A1EB1A7E8DDC4 /* SDImageCoder.h in Headers */, | |
| 1877 | + 285BB197A61A0553905D872B6E4F6BA1 /* SDImageCoderHelper.h in Headers */, | |
| 1878 | + 47CFA5C583D7B3BFD0FBAD1F1A474913 /* SDImageCodersManager.h in Headers */, | |
| 1879 | + 5C5058FC446A9C6C4F3FA70C2121A267 /* SDImageFrame.h in Headers */, | |
| 1880 | + 12A76A691E704E6EBE12CC888639C31A /* SDImageGIFCoder.h in Headers */, | |
| 1881 | + 7829F86094FA530717C4AF09DFA1FCB7 /* SDImageGraphics.h in Headers */, | |
| 1882 | + 4F227430C16CAB3FF65A1488229BF46A /* SDImageHEICCoder.h in Headers */, | |
| 1883 | + D347FCF56E468483A546E1F611DE081C /* SDImageHEICCoderInternal.h in Headers */, | |
| 1884 | + 79140F3DB1DFA9969EF7EA809862461B /* SDImageIOAnimatedCoder.h in Headers */, | |
| 1885 | + EA50654643EF702D7F2DD17534459EAB /* SDImageIOAnimatedCoderInternal.h in Headers */, | |
| 1886 | + D6FDFE95CEDBD0A41D4E16FDB1599FA9 /* SDImageIOCoder.h in Headers */, | |
| 1887 | + 104CBAC9F34C7B8475A096C4B0ACA3A0 /* SDImageLoader.h in Headers */, | |
| 1888 | + 858BA6CE212BDE681F7B8EC99CDEA5A2 /* SDImageLoadersManager.h in Headers */, | |
| 1889 | + 949BA4CC204D826571EA4E85BA769DB7 /* SDImageTransformer.h in Headers */, | |
| 1890 | + 561EAFCC4AA4A4FFA55319ACF371D31C /* SDInternalMacros.h in Headers */, | |
| 1891 | + FC4DE0456F37E3F47195E5F969314E0F /* SDMemoryCache.h in Headers */, | |
| 1892 | + 183F84DC6D79A0F93AE6C13F2EDDDCD8 /* SDmetamacros.h in Headers */, | |
| 1893 | + 5E96F449788433CD16C308CA4C4974AB /* SDWeakProxy.h in Headers */, | |
| 1894 | + 1A04C35F3E2D85CFCAFC9934EAC8E033 /* SDWebImage-umbrella.h in Headers */, | |
| 1895 | + 64F3EB426774D6F1D593DBFAFFBF6791 /* SDWebImage.h in Headers */, | |
| 1896 | + FEF33326D4B5B59DFD0CA1DFAD4001FC /* SDWebImageCacheKeyFilter.h in Headers */, | |
| 1897 | + DFE7857272AA4CDEC686248E790174F9 /* SDWebImageCacheSerializer.h in Headers */, | |
| 1898 | + 010A21434427A1E7CE25060BA3A66A61 /* SDWebImageCompat.h in Headers */, | |
| 1899 | + CBA469E2DD8702DECB634A81F850C516 /* SDWebImageDefine.h in Headers */, | |
| 1900 | + 9C39FA3EB2A9462B249432F655FC9AA8 /* SDWebImageDownloader.h in Headers */, | |
| 1901 | + A3A38FFF99F8F65D21F6526D4D257230 /* SDWebImageDownloaderConfig.h in Headers */, | |
| 1902 | + C854CD2F89E00E88FB1D6669A770DEE0 /* SDWebImageDownloaderDecryptor.h in Headers */, | |
| 1903 | + CF1AA8850ED16C5F49B61BC3A9B13DD7 /* SDWebImageDownloaderOperation.h in Headers */, | |
| 1904 | + 6B8E9A4250E31C61FFB2FA44B1ED587D /* SDWebImageDownloaderRequestModifier.h in Headers */, | |
| 1905 | + 02A4C8ABD5DCC501DE7A6CE19B398E14 /* SDWebImageDownloaderResponseModifier.h in Headers */, | |
| 1906 | + 95D70798AF08A9AF6AC0455ABAC50B31 /* SDWebImageError.h in Headers */, | |
| 1907 | + B6A52B7697F15B487F846F3DA1CB3896 /* SDWebImageIndicator.h in Headers */, | |
| 1908 | + FC5E54109CC0090D7CA4492C6225E5BB /* SDWebImageManager.h in Headers */, | |
| 1909 | + CD06DC5FCA424D8A0928068BEB8AF2E5 /* SDWebImageOperation.h in Headers */, | |
| 1910 | + DA1F5EB06521252BF63369AFEF914368 /* SDWebImageOptionsProcessor.h in Headers */, | |
| 1911 | + B52576B08EFC9D67F218CC2DAC542AF4 /* SDWebImagePrefetcher.h in Headers */, | |
| 1912 | + 02B6598C52131C10E3CA344FB49B87FA /* SDWebImageTransition.h in Headers */, | |
| 1913 | + 71C055BCF544D98F47CCFB404A9157A0 /* SDWebImageTransitionInternal.h in Headers */, | |
| 1914 | + 7320BE37CC5564C9200656A346D16D7C /* UIButton+WebCache.h in Headers */, | |
| 1915 | + 41E823881385B837FA086E301CBBB87C /* UIColor+SDHexString.h in Headers */, | |
| 1916 | + 758D45C8E630A9B2A29746AFAB257929 /* UIImage+ExtendedCacheData.h in Headers */, | |
| 1917 | + 56D4C3BEBAF6D7B57123C4A919EDFC4D /* UIImage+ForceDecode.h in Headers */, | |
| 1918 | + A1B62D4B373543D743AC938090EF65F2 /* UIImage+GIF.h in Headers */, | |
| 1919 | + 7BDCFF16AD5094651DDF91E007A194A1 /* UIImage+MemoryCacheCost.h in Headers */, | |
| 1920 | + CCEF1E548BE78064BE12CC29D9977A28 /* UIImage+Metadata.h in Headers */, | |
| 1921 | + 7CB9508A6133F4674F3358339F62CF03 /* UIImage+MultiFormat.h in Headers */, | |
| 1922 | + DCDC5264F294AB9A622D368F2F7FA336 /* UIImage+Transform.h in Headers */, | |
| 1923 | + 42BB3098DC0E47748C6AD61A10575859 /* UIImageView+HighlightedWebCache.h in Headers */, | |
| 1924 | + 9212629910630E2F8888272B38EA81E4 /* UIImageView+WebCache.h in Headers */, | |
| 1925 | + 033813F58E3D20FA511AF1B5C3D58FA7 /* UIView+WebCache.h in Headers */, | |
| 1926 | + 21C120EDFCE3F1B685833EAE2F088998 /* UIView+WebCacheOperation.h in Headers */, | |
| 1857 | 1927 | ); |
| 1858 | 1928 | runOnlyForDeploymentPostprocessing = 0; |
| 1859 | 1929 | }; |
| ... | ... | @@ -1930,12 +2000,12 @@ |
| 1930 | 2000 | }; |
| 1931 | 2001 | 3847153A6E5EEFB86565BA840768F429 /* SDWebImage */ = { |
| 1932 | 2002 | isa = PBXNativeTarget; |
| 1933 | - buildConfigurationList = 74451F5A9D7B9165630F6C64F97C5913 /* Build configuration list for PBXNativeTarget "SDWebImage" */; | |
| 2003 | + buildConfigurationList = AC6F755EB18559BA16F3A7501A53F36A /* Build configuration list for PBXNativeTarget "SDWebImage" */; | |
| 1934 | 2004 | buildPhases = ( |
| 1935 | - CA4065646A60ED133DABD1609AE9B77F /* Headers */, | |
| 1936 | - BAD7BFF6FC8F0397DB86C139AF674045 /* Sources */, | |
| 1937 | - ECEA1B04AA580BD337B52CB84D1C00A8 /* Frameworks */, | |
| 1938 | - 016B131B0F6F68BCBAE6DB01E3F25349 /* Resources */, | |
| 2005 | + CB6048343884143F7919689F2F9BEEA2 /* Headers */, | |
| 2006 | + 6B33B89724E2F1127E0B67158DDEA242 /* Sources */, | |
| 2007 | + 93E1803EFFB49B8B5D9BE9C3FF15E708 /* Frameworks */, | |
| 2008 | + D6D70F7565EE0DD3BC12CD0BB42B01A8 /* Resources */, | |
| 1939 | 2009 | ); |
| 1940 | 2010 | buildRules = ( |
| 1941 | 2011 | ); |
| ... | ... | @@ -1998,13 +2068,6 @@ |
| 1998 | 2068 | /* End PBXProject section */ |
| 1999 | 2069 | |
| 2000 | 2070 | /* Begin PBXResourcesBuildPhase section */ |
| 2001 | - 016B131B0F6F68BCBAE6DB01E3F25349 /* Resources */ = { | |
| 2002 | - isa = PBXResourcesBuildPhase; | |
| 2003 | - buildActionMask = 2147483647; | |
| 2004 | - files = ( | |
| 2005 | - ); | |
| 2006 | - runOnlyForDeploymentPostprocessing = 0; | |
| 2007 | - }; | |
| 2008 | 2071 | 04E5F5CBE7ACCFB62968403927984C4D /* Resources */ = { |
| 2009 | 2072 | isa = PBXResourcesBuildPhase; |
| 2010 | 2073 | buildActionMask = 2147483647; |
| ... | ... | @@ -2035,6 +2098,13 @@ |
| 2035 | 2098 | ); |
| 2036 | 2099 | runOnlyForDeploymentPostprocessing = 0; |
| 2037 | 2100 | }; |
| 2101 | + D6D70F7565EE0DD3BC12CD0BB42B01A8 /* Resources */ = { | |
| 2102 | + isa = PBXResourcesBuildPhase; | |
| 2103 | + buildActionMask = 2147483647; | |
| 2104 | + files = ( | |
| 2105 | + ); | |
| 2106 | + runOnlyForDeploymentPostprocessing = 0; | |
| 2107 | + }; | |
| 2038 | 2108 | /* End PBXResourcesBuildPhase section */ |
| 2039 | 2109 | |
| 2040 | 2110 | /* Begin PBXSourcesBuildPhase section */ |
| ... | ... | @@ -2135,69 +2205,79 @@ |
| 2135 | 2205 | ); |
| 2136 | 2206 | runOnlyForDeploymentPostprocessing = 0; |
| 2137 | 2207 | }; |
| 2138 | - BAD7BFF6FC8F0397DB86C139AF674045 /* Sources */ = { | |
| 2208 | + 6B33B89724E2F1127E0B67158DDEA242 /* Sources */ = { | |
| 2139 | 2209 | isa = PBXSourcesBuildPhase; |
| 2140 | 2210 | buildActionMask = 2147483647; |
| 2141 | 2211 | files = ( |
| 2142 | - 8AAEE8B8F842102CB770F4A2C286AEE0 /* NSBezierPath+RoundedCorners.m in Sources */, | |
| 2143 | - 13B7C26AFEF7B9A9BB71D6340836C1D2 /* NSButton+WebCache.m in Sources */, | |
| 2144 | - C15872A8795C18D17D7CB78D0D2AF5A9 /* NSData+ImageContentType.m in Sources */, | |
| 2145 | - DDA63B6A16CAEC9EDAB8721409ED65EF /* NSImage+Compatibility.m in Sources */, | |
| 2146 | - 642B272637AFE100C01566715BE9A90E /* SDAnimatedImage.m in Sources */, | |
| 2147 | - AAB78C68578015956BFE8A56A7E02BA7 /* SDAnimatedImageRep.m in Sources */, | |
| 2148 | - 8B3648DF3CD6DCE1F23B154EEC9F47BC /* SDAnimatedImageView+WebCache.m in Sources */, | |
| 2149 | - 7BE352AC96A490424A89542C59B92D27 /* SDAnimatedImageView.m in Sources */, | |
| 2150 | - 6419E84A00BD1CC2D89FBD11DBA95B35 /* SDAsyncBlockOperation.m in Sources */, | |
| 2151 | - F855CDFE0F0B48A22F8F0B4CD25E3F2A /* SDDiskCache.m in Sources */, | |
| 2152 | - F0AB74AED6D7C008445C01678F59B54D /* SDImageAPNGCoder.m in Sources */, | |
| 2153 | - 66ABFE235C4A3EE1284E40B26EC06E50 /* SDImageAssetManager.m in Sources */, | |
| 2154 | - CBEDB718B4AB4391588A9347C9F03C4A /* SDImageCache.m in Sources */, | |
| 2155 | - 9BE4B66909D27FA2DEE5D7B4DAF83DD5 /* SDImageCacheConfig.m in Sources */, | |
| 2156 | - B0D15842F6D9B27F7E656D6A3D715329 /* SDImageCacheDefine.m in Sources */, | |
| 2157 | - 43413AE961CEDF130DB347D12953F90F /* SDImageCachesManager.m in Sources */, | |
| 2158 | - 720BDB7561A9BF9FAA229655BF6BAACB /* SDImageCachesManagerOperation.m in Sources */, | |
| 2159 | - 2987181816CE330B8D8C8011A163DED5 /* SDImageCoder.m in Sources */, | |
| 2160 | - E4C4C17E15D7F01D31091341E3B22767 /* SDImageCoderHelper.m in Sources */, | |
| 2161 | - 6C9E415ACF9DBBF5276A439ECA83FF41 /* SDImageCodersManager.m in Sources */, | |
| 2162 | - B81B452FC4B5B6F7812022013E0050F9 /* SDImageFrame.m in Sources */, | |
| 2163 | - C926C81B2AE4D970FF43FA6854DF11B3 /* SDImageGIFCoder.m in Sources */, | |
| 2164 | - EBD6DC15D9DA29829CD9A5BA5F2B2A76 /* SDImageGraphics.m in Sources */, | |
| 2165 | - 91EC5D1276C67BD151CE0945E99D346B /* SDImageHEICCoder.m in Sources */, | |
| 2166 | - 1A696C66B1AD121F4D74F70046E722BE /* SDImageIOAnimatedCoder.m in Sources */, | |
| 2167 | - 637C07DAF593E361026C13455CED3356 /* SDImageIOCoder.m in Sources */, | |
| 2168 | - 3CBE3496D679F3CAC215C24E124CEF20 /* SDImageLoader.m in Sources */, | |
| 2169 | - A93168D1B8FE647836641A8FD0960D3F /* SDImageLoadersManager.m in Sources */, | |
| 2170 | - 9F45ED51FB250F999DF9EEE26706306F /* SDImageTransformer.m in Sources */, | |
| 2171 | - C50CAA073FFEC5DFDB16A59830E97C95 /* SDInternalMacros.m in Sources */, | |
| 2172 | - E159EA4B9CE7CA4EA7CC422F1BB359D0 /* SDMemoryCache.m in Sources */, | |
| 2173 | - 69B78205FADBA6F82DD7D8842E744559 /* SDWeakProxy.m in Sources */, | |
| 2174 | - 7296ED68E239CF8323284C327EFD34DB /* SDWebImage-dummy.m in Sources */, | |
| 2175 | - CF5BBB5AA6B556A33F0FD0CBF107B538 /* SDWebImageCacheKeyFilter.m in Sources */, | |
| 2176 | - 773F599C7937832DC3E3C3F5FC41A2BF /* SDWebImageCacheSerializer.m in Sources */, | |
| 2177 | - 9AA98747F0FFCB4629345C58F9DFF9A2 /* SDWebImageCompat.m in Sources */, | |
| 2178 | - A24ECE056F5DC1A130E45CD9DFDDAE9D /* SDWebImageDefine.m in Sources */, | |
| 2179 | - 8095235275C7774DBD0439AEBF02EBF9 /* SDWebImageDownloader.m in Sources */, | |
| 2180 | - FD42C3773D4CE1E4ED8BC78369EE4898 /* SDWebImageDownloaderConfig.m in Sources */, | |
| 2181 | - 55F81E8A4E05DCEA1424C070100D7A08 /* SDWebImageDownloaderOperation.m in Sources */, | |
| 2182 | - 3768A48148C1A559EFA6857AEE21499C /* SDWebImageDownloaderRequestModifier.m in Sources */, | |
| 2183 | - 27117846D36D17C67AD6B0BC49819C2E /* SDWebImageError.m in Sources */, | |
| 2184 | - 7AA1932AD1AADADB7084C1120E353441 /* SDWebImageIndicator.m in Sources */, | |
| 2185 | - 5F7825DA2B38AE6F113742CD8640B6A5 /* SDWebImageManager.m in Sources */, | |
| 2186 | - 22AC8168428AA91CEFCC4A1EE18C61A1 /* SDWebImageOptionsProcessor.m in Sources */, | |
| 2187 | - E05830BFF728135BC1A3FCD86B02AFED /* SDWebImagePrefetcher.m in Sources */, | |
| 2188 | - F981FD60C717579B06FC77EBE5E3ECEE /* SDWebImageTransition.m in Sources */, | |
| 2189 | - B2D122DFC079570A5A257B8FEFE1CF4C /* UIButton+WebCache.m in Sources */, | |
| 2190 | - 8B36C6BD6BC521D6EBFAA6C06204C8AE /* UIColor+HexString.m in Sources */, | |
| 2191 | - 3A717A936244852C7999DF2ACDD3EBA4 /* UIImage+ForceDecode.m in Sources */, | |
| 2192 | - 4B010F01929654CD157576546C2CA5E5 /* UIImage+GIF.m in Sources */, | |
| 2193 | - 9F69D6D21857F40138D7EF02C9934F61 /* UIImage+MemoryCacheCost.m in Sources */, | |
| 2194 | - D84BE358D7B1195BCA3556D7A0003968 /* UIImage+Metadata.m in Sources */, | |
| 2195 | - 09291E0580080AF730970F2DE20C6F2F /* UIImage+MultiFormat.m in Sources */, | |
| 2196 | - 4A295CDE35C0C3A0C3BDC83BAEEBC8D1 /* UIImage+Transform.m in Sources */, | |
| 2197 | - 4E5C5A91108AA66D06C8D32C62266D23 /* UIImageView+HighlightedWebCache.m in Sources */, | |
| 2198 | - FB731F3EEA54F44A238FBBFED93D9974 /* UIImageView+WebCache.m in Sources */, | |
| 2199 | - 873613A08846E4C11A3D0504EF738DD3 /* UIView+WebCache.m in Sources */, | |
| 2200 | - C60409B7C6D34D479F3DC7157194706B /* UIView+WebCacheOperation.m in Sources */, | |
| 2212 | + 14C2D66D5EC7A892325562A7830E78D4 /* NSBezierPath+SDRoundedCorners.m in Sources */, | |
| 2213 | + EC14B2E8E460DFC2E4EB78A9FC10117C /* NSButton+WebCache.m in Sources */, | |
| 2214 | + 64CB4C39356EDD005F3104B820F4B299 /* NSData+ImageContentType.m in Sources */, | |
| 2215 | + 3E404F1C1EF06355EBCAD17AAA6A7655 /* NSImage+Compatibility.m in Sources */, | |
| 2216 | + 28B63809D42D68F3E44A2012695EC8E8 /* SDAnimatedImage.m in Sources */, | |
| 2217 | + 826CC80A43888E4B01B8C0F546CCEB4C /* SDAnimatedImagePlayer.m in Sources */, | |
| 2218 | + 27E23C72CC1BAD100D8F8E52A77E0DED /* SDAnimatedImageRep.m in Sources */, | |
| 2219 | + 84996105619FE8603B904EBD8CAF4650 /* SDAnimatedImageView+WebCache.m in Sources */, | |
| 2220 | + 4458F0F06DDB8ED606F8089B51DE2857 /* SDAnimatedImageView.m in Sources */, | |
| 2221 | + 9A63822674C925980BCE24CF9162F224 /* SDAssociatedObject.m in Sources */, | |
| 2222 | + D43B9E05CBF3046EB696F0357E263B54 /* SDAsyncBlockOperation.m in Sources */, | |
| 2223 | + 292DFB006819CC5C457430933E9DF2CC /* SDDeviceHelper.m in Sources */, | |
| 2224 | + DB42064F83C6224213B940B249FC26FF /* SDDiskCache.m in Sources */, | |
| 2225 | + 3BAC7E6B28028F929677080D34286C9A /* SDDisplayLink.m in Sources */, | |
| 2226 | + FFA5793DBEE9AB3CC5C01F5B6F0B1151 /* SDFileAttributeHelper.m in Sources */, | |
| 2227 | + 725C541DA4309D9A2CE04EA1BAC9DB05 /* SDGraphicsImageRenderer.m in Sources */, | |
| 2228 | + 477600BAE7223A59EC2D341F7EAA0C5B /* SDImageAPNGCoder.m in Sources */, | |
| 2229 | + BD1CC866FEB3E8226394BA640E7FA900 /* SDImageAssetManager.m in Sources */, | |
| 2230 | + 198D45399940A52F6AD442B5F96A24A1 /* SDImageCache.m in Sources */, | |
| 2231 | + 8A1D68B08A42906461750649F460B63E /* SDImageCacheConfig.m in Sources */, | |
| 2232 | + 69979E7EF7E1322AF64B9D04EC5DC4FC /* SDImageCacheDefine.m in Sources */, | |
| 2233 | + 3FE529AB19EA206854B9668E508D927B /* SDImageCachesManager.m in Sources */, | |
| 2234 | + 14E9103FD1B1EFBE7BA8EE1137810EB2 /* SDImageCachesManagerOperation.m in Sources */, | |
| 2235 | + 451775744CDDD8A2805CCC5FAAE96FE6 /* SDImageCoder.m in Sources */, | |
| 2236 | + CC1B7B642CBAEA58A27D410B329E5FFD /* SDImageCoderHelper.m in Sources */, | |
| 2237 | + BDACD97A89128CDAECEE9F2C66A68041 /* SDImageCodersManager.m in Sources */, | |
| 2238 | + D2EDDDAA1E3498604C570DA06526C7BA /* SDImageFrame.m in Sources */, | |
| 2239 | + D4F67B56B3A2910031B248E07BC0FF9F /* SDImageGIFCoder.m in Sources */, | |
| 2240 | + 44F7C039A4502CB6ABFE93BC1626ADAF /* SDImageGraphics.m in Sources */, | |
| 2241 | + 5C11EACACCF1A59EC89E212517D471D2 /* SDImageHEICCoder.m in Sources */, | |
| 2242 | + 89A6805309AE158EA70271058AD04DAC /* SDImageIOAnimatedCoder.m in Sources */, | |
| 2243 | + 521A2AB2326986DDA7210B222799D82D /* SDImageIOCoder.m in Sources */, | |
| 2244 | + B34DA9789249B559F7D135CDC3D4FD77 /* SDImageLoader.m in Sources */, | |
| 2245 | + 013FB3424E97C9CBA093B58F3FF74537 /* SDImageLoadersManager.m in Sources */, | |
| 2246 | + 6F52C02EB7BEBB28BEF797764940E83D /* SDImageTransformer.m in Sources */, | |
| 2247 | + 19BA863C27D0A5BBD664CB1ABDA03238 /* SDInternalMacros.m in Sources */, | |
| 2248 | + 8D7206334016EF356DD5C06DB743927A /* SDMemoryCache.m in Sources */, | |
| 2249 | + 9B9C593A401B16CA1F27613B33259116 /* SDWeakProxy.m in Sources */, | |
| 2250 | + 3526C8C7BD0C5256C819AEB8DE26BC80 /* SDWebImage-dummy.m in Sources */, | |
| 2251 | + F045BDBF956B9EE5340F3225336EDAC6 /* SDWebImageCacheKeyFilter.m in Sources */, | |
| 2252 | + 46E5579E12DEE8B0B0E8B4BD484303AF /* SDWebImageCacheSerializer.m in Sources */, | |
| 2253 | + DD784DFACF8863C7D46B9054B0DD7C42 /* SDWebImageCompat.m in Sources */, | |
| 2254 | + E48B7D3309D22470B53A3EB47B6577E7 /* SDWebImageDefine.m in Sources */, | |
| 2255 | + AB811350CFBFEC402845394DFB11C5B9 /* SDWebImageDownloader.m in Sources */, | |
| 2256 | + C94DE8F907543852C6C5311CE0A2752A /* SDWebImageDownloaderConfig.m in Sources */, | |
| 2257 | + 5EC0E24AEBC97BED8827D6824B20AEA3 /* SDWebImageDownloaderDecryptor.m in Sources */, | |
| 2258 | + 9058F00D7FB0F44089EA7418C9BE80CD /* SDWebImageDownloaderOperation.m in Sources */, | |
| 2259 | + A8F9213841A1696CA4E3BAF5B0836F43 /* SDWebImageDownloaderRequestModifier.m in Sources */, | |
| 2260 | + EA5AE4148E9B9228E70EDB7F575D111E /* SDWebImageDownloaderResponseModifier.m in Sources */, | |
| 2261 | + C32C3C747D6831244FA97E55D7EBC211 /* SDWebImageError.m in Sources */, | |
| 2262 | + C71E6525587D5FFE318A222C092FA6AE /* SDWebImageIndicator.m in Sources */, | |
| 2263 | + 92253035C5C62FC047813B453A47011B /* SDWebImageManager.m in Sources */, | |
| 2264 | + 461394E1264BA539807AE22B6681037D /* SDWebImageOperation.m in Sources */, | |
| 2265 | + CAD57C741FFBC3EBCA19E4F1891E4FDA /* SDWebImageOptionsProcessor.m in Sources */, | |
| 2266 | + ED388349310FF50899F3AEB5E2DF0500 /* SDWebImagePrefetcher.m in Sources */, | |
| 2267 | + 7A39F3B62173880BC1A1E872B2B0DE19 /* SDWebImageTransition.m in Sources */, | |
| 2268 | + C8D1A63DACC1ED208C203641C69EEEF1 /* UIButton+WebCache.m in Sources */, | |
| 2269 | + F4BE0CAF1D4BF04D766DB4A25AE4A4C2 /* UIColor+SDHexString.m in Sources */, | |
| 2270 | + 3D269D2B6E70D5134F84F471FA897C1D /* UIImage+ExtendedCacheData.m in Sources */, | |
| 2271 | + 66794E1E249B57756C75632B1CF7AA7A /* UIImage+ForceDecode.m in Sources */, | |
| 2272 | + 34E8A42A4CD18CF55A1C5CBD1F222D71 /* UIImage+GIF.m in Sources */, | |
| 2273 | + 8B74D26ECDC0A95EADFD2FE3D6044F45 /* UIImage+MemoryCacheCost.m in Sources */, | |
| 2274 | + 90B45AE4B48040DD4DF7B2521A41FA93 /* UIImage+Metadata.m in Sources */, | |
| 2275 | + B6B6619A760B666DE47643F684DCF92A /* UIImage+MultiFormat.m in Sources */, | |
| 2276 | + 9CBF5A5EFC5491417ACEF9D2D6F604DD /* UIImage+Transform.m in Sources */, | |
| 2277 | + 271841B1A02A31A896499240CC233E7A /* UIImageView+HighlightedWebCache.m in Sources */, | |
| 2278 | + 580A58EB2DC597145BE726FF15B7B980 /* UIImageView+WebCache.m in Sources */, | |
| 2279 | + 16B189FD50EB941DDBCEF3718C511381 /* UIView+WebCache.m in Sources */, | |
| 2280 | + 8D6092C5708543E1975D21EF342829A9 /* UIView+WebCacheOperation.m in Sources */, | |
| 2201 | 2281 | ); |
| 2202 | 2282 | runOnlyForDeploymentPostprocessing = 0; |
| 2203 | 2283 | }; |
| ... | ... | @@ -2303,9 +2383,43 @@ |
| 2303 | 2383 | /* End PBXTargetDependency section */ |
| 2304 | 2384 | |
| 2305 | 2385 | /* Begin XCBuildConfiguration section */ |
| 2306 | - 0D51E6D665830E8C0F6875C54D2AC40B /* Release */ = { | |
| 2386 | + 08BD4C03DE661802FE73864480E43F7C /* Release */ = { | |
| 2387 | + isa = XCBuildConfiguration; | |
| 2388 | + baseConfigurationReference = 3F544E13A1E9FD128E0AF79DBF99E602 /* Pods-YBImageBrowser_DSCnliveShop_Example.release.xcconfig */; | |
| 2389 | + buildSettings = { | |
| 2390 | + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; | |
| 2391 | + CODE_SIGN_IDENTITY = ""; | |
| 2392 | + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; | |
| 2393 | + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; | |
| 2394 | + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; | |
| 2395 | + CURRENT_PROJECT_VERSION = 1; | |
| 2396 | + DEFINES_MODULE = YES; | |
| 2397 | + DYLIB_COMPATIBILITY_VERSION = 1; | |
| 2398 | + DYLIB_CURRENT_VERSION = 1; | |
| 2399 | + DYLIB_INSTALL_NAME_BASE = "@rpath"; | |
| 2400 | + INFOPLIST_FILE = "Target Support Files/Pods-YBImageBrowser_DSCnliveShop_Example/Pods-YBImageBrowser_DSCnliveShop_Example-Info.plist"; | |
| 2401 | + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; | |
| 2402 | + IPHONEOS_DEPLOYMENT_TARGET = 9.0; | |
| 2403 | + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; | |
| 2404 | + MACH_O_TYPE = staticlib; | |
| 2405 | + MODULEMAP_FILE = "Target Support Files/Pods-YBImageBrowser_DSCnliveShop_Example/Pods-YBImageBrowser_DSCnliveShop_Example.modulemap"; | |
| 2406 | + OTHER_LDFLAGS = ""; | |
| 2407 | + OTHER_LIBTOOLFLAGS = ""; | |
| 2408 | + PODS_ROOT = "$(SRCROOT)"; | |
| 2409 | + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; | |
| 2410 | + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; | |
| 2411 | + SDKROOT = iphoneos; | |
| 2412 | + SKIP_INSTALL = YES; | |
| 2413 | + TARGETED_DEVICE_FAMILY = "1,2"; | |
| 2414 | + VALIDATE_PRODUCT = YES; | |
| 2415 | + VERSIONING_SYSTEM = "apple-generic"; | |
| 2416 | + VERSION_INFO_PREFIX = ""; | |
| 2417 | + }; | |
| 2418 | + name = Release; | |
| 2419 | + }; | |
| 2420 | + 0E0881E1CF6CB5CB69A59B5DB8946635 /* Release */ = { | |
| 2307 | 2421 | isa = XCBuildConfiguration; |
| 2308 | - baseConfigurationReference = 8B5C5257F6B18F69C086B439A25052BD /* SDWebImage.release.xcconfig */; | |
| 2422 | + baseConfigurationReference = 69B6E48A6A7BF7FDA397F18D808442A2 /* SDWebImage.release.xcconfig */; | |
| 2309 | 2423 | buildSettings = { |
| 2310 | 2424 | CODE_SIGN_IDENTITY = ""; |
| 2311 | 2425 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; |
| ... | ... | @@ -2335,9 +2449,9 @@ |
| 2335 | 2449 | }; |
| 2336 | 2450 | name = Release; |
| 2337 | 2451 | }; |
| 2338 | - 314845AEFA52C16806836E92F522B3DA /* Debug */ = { | |
| 2452 | + 10ED6ADB52D8B1FCFB0CF456419C6894 /* Debug */ = { | |
| 2339 | 2453 | isa = XCBuildConfiguration; |
| 2340 | - baseConfigurationReference = D2A8889944F3D4BE1188A99F60D3CA7A /* YYKit.debug.xcconfig */; | |
| 2454 | + baseConfigurationReference = 3937A5FCAE6FD5C9CBFD132D61702EB0 /* SDWebImage.debug.xcconfig */; | |
| 2341 | 2455 | buildSettings = { |
| 2342 | 2456 | CODE_SIGN_IDENTITY = ""; |
| 2343 | 2457 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; |
| ... | ... | @@ -2348,14 +2462,14 @@ |
| 2348 | 2462 | DYLIB_COMPATIBILITY_VERSION = 1; |
| 2349 | 2463 | DYLIB_CURRENT_VERSION = 1; |
| 2350 | 2464 | DYLIB_INSTALL_NAME_BASE = "@rpath"; |
| 2351 | - GCC_PREFIX_HEADER = "Target Support Files/YYKit/YYKit-prefix.pch"; | |
| 2352 | - INFOPLIST_FILE = "Target Support Files/YYKit/YYKit-Info.plist"; | |
| 2465 | + GCC_PREFIX_HEADER = "Target Support Files/SDWebImage/SDWebImage-prefix.pch"; | |
| 2466 | + INFOPLIST_FILE = "Target Support Files/SDWebImage/SDWebImage-Info.plist"; | |
| 2353 | 2467 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; |
| 2354 | 2468 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; |
| 2355 | 2469 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; |
| 2356 | - MODULEMAP_FILE = "Target Support Files/YYKit/YYKit.modulemap"; | |
| 2357 | - PRODUCT_MODULE_NAME = YYKit; | |
| 2358 | - PRODUCT_NAME = YYKit; | |
| 2470 | + MODULEMAP_FILE = "Target Support Files/SDWebImage/SDWebImage.modulemap"; | |
| 2471 | + PRODUCT_MODULE_NAME = SDWebImage; | |
| 2472 | + PRODUCT_NAME = SDWebImage; | |
| 2359 | 2473 | SDKROOT = iphoneos; |
| 2360 | 2474 | SKIP_INSTALL = YES; |
| 2361 | 2475 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; |
| ... | ... | @@ -2366,9 +2480,9 @@ |
| 2366 | 2480 | }; |
| 2367 | 2481 | name = Debug; |
| 2368 | 2482 | }; |
| 2369 | - 47DAF87FCCCAB26DF692F7F33319AEE3 /* Release */ = { | |
| 2483 | + 314845AEFA52C16806836E92F522B3DA /* Debug */ = { | |
| 2370 | 2484 | isa = XCBuildConfiguration; |
| 2371 | - baseConfigurationReference = 2FA8DD8E17F9BA15127FBA5142430978 /* YBImageBrowser_DSCnliveShop.release.xcconfig */; | |
| 2485 | + baseConfigurationReference = D2A8889944F3D4BE1188A99F60D3CA7A /* YYKit.debug.xcconfig */; | |
| 2372 | 2486 | buildSettings = { |
| 2373 | 2487 | CODE_SIGN_IDENTITY = ""; |
| 2374 | 2488 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; |
| ... | ... | @@ -2379,90 +2493,28 @@ |
| 2379 | 2493 | DYLIB_COMPATIBILITY_VERSION = 1; |
| 2380 | 2494 | DYLIB_CURRENT_VERSION = 1; |
| 2381 | 2495 | DYLIB_INSTALL_NAME_BASE = "@rpath"; |
| 2382 | - GCC_PREFIX_HEADER = "Target Support Files/YBImageBrowser_DSCnliveShop/YBImageBrowser_DSCnliveShop-prefix.pch"; | |
| 2383 | - INFOPLIST_FILE = "Target Support Files/YBImageBrowser_DSCnliveShop/YBImageBrowser_DSCnliveShop-Info.plist"; | |
| 2496 | + GCC_PREFIX_HEADER = "Target Support Files/YYKit/YYKit-prefix.pch"; | |
| 2497 | + INFOPLIST_FILE = "Target Support Files/YYKit/YYKit-Info.plist"; | |
| 2384 | 2498 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; |
| 2385 | - IPHONEOS_DEPLOYMENT_TARGET = 9.0; | |
| 2499 | + IPHONEOS_DEPLOYMENT_TARGET = 8.0; | |
| 2386 | 2500 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; |
| 2387 | - MODULEMAP_FILE = "Target Support Files/YBImageBrowser_DSCnliveShop/YBImageBrowser_DSCnliveShop.modulemap"; | |
| 2388 | - PRODUCT_MODULE_NAME = YBImageBrowser_DSCnliveShop; | |
| 2389 | - PRODUCT_NAME = YBImageBrowser_DSCnliveShop; | |
| 2501 | + MODULEMAP_FILE = "Target Support Files/YYKit/YYKit.modulemap"; | |
| 2502 | + PRODUCT_MODULE_NAME = YYKit; | |
| 2503 | + PRODUCT_NAME = YYKit; | |
| 2390 | 2504 | SDKROOT = iphoneos; |
| 2391 | 2505 | SKIP_INSTALL = YES; |
| 2392 | 2506 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; |
| 2393 | 2507 | SWIFT_VERSION = 4.0; |
| 2394 | 2508 | TARGETED_DEVICE_FAMILY = "1,2"; |
| 2395 | - VALIDATE_PRODUCT = YES; | |
| 2396 | 2509 | VERSIONING_SYSTEM = "apple-generic"; |
| 2397 | 2510 | VERSION_INFO_PREFIX = ""; |
| 2398 | 2511 | }; |
| 2399 | - name = Release; | |
| 2400 | - }; | |
| 2401 | - 4BE66A09A74FD25164AAB3C2645B9B93 /* Release */ = { | |
| 2402 | - isa = XCBuildConfiguration; | |
| 2403 | - buildSettings = { | |
| 2404 | - ALWAYS_SEARCH_USER_PATHS = NO; | |
| 2405 | - CLANG_ANALYZER_NONNULL = YES; | |
| 2406 | - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; | |
| 2407 | - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; | |
| 2408 | - CLANG_CXX_LIBRARY = "libc++"; | |
| 2409 | - CLANG_ENABLE_MODULES = YES; | |
| 2410 | - CLANG_ENABLE_OBJC_ARC = YES; | |
| 2411 | - CLANG_ENABLE_OBJC_WEAK = YES; | |
| 2412 | - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; | |
| 2413 | - CLANG_WARN_BOOL_CONVERSION = YES; | |
| 2414 | - CLANG_WARN_COMMA = YES; | |
| 2415 | - CLANG_WARN_CONSTANT_CONVERSION = YES; | |
| 2416 | - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; | |
| 2417 | - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | |
| 2418 | - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; | |
| 2419 | - CLANG_WARN_EMPTY_BODY = YES; | |
| 2420 | - CLANG_WARN_ENUM_CONVERSION = YES; | |
| 2421 | - CLANG_WARN_INFINITE_RECURSION = YES; | |
| 2422 | - CLANG_WARN_INT_CONVERSION = YES; | |
| 2423 | - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; | |
| 2424 | - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; | |
| 2425 | - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; | |
| 2426 | - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | |
| 2427 | - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; | |
| 2428 | - CLANG_WARN_STRICT_PROTOTYPES = YES; | |
| 2429 | - CLANG_WARN_SUSPICIOUS_MOVE = YES; | |
| 2430 | - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; | |
| 2431 | - CLANG_WARN_UNREACHABLE_CODE = YES; | |
| 2432 | - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | |
| 2433 | - COPY_PHASE_STRIP = NO; | |
| 2434 | - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | |
| 2435 | - ENABLE_NS_ASSERTIONS = NO; | |
| 2436 | - ENABLE_STRICT_OBJC_MSGSEND = YES; | |
| 2437 | - GCC_C_LANGUAGE_STANDARD = gnu11; | |
| 2438 | - GCC_NO_COMMON_BLOCKS = YES; | |
| 2439 | - GCC_PREPROCESSOR_DEFINITIONS = ( | |
| 2440 | - "POD_CONFIGURATION_RELEASE=1", | |
| 2441 | - "$(inherited)", | |
| 2442 | - ); | |
| 2443 | - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | |
| 2444 | - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | |
| 2445 | - GCC_WARN_UNDECLARED_SELECTOR = YES; | |
| 2446 | - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | |
| 2447 | - GCC_WARN_UNUSED_FUNCTION = YES; | |
| 2448 | - GCC_WARN_UNUSED_VARIABLE = YES; | |
| 2449 | - IPHONEOS_DEPLOYMENT_TARGET = 8.0; | |
| 2450 | - MTL_ENABLE_DEBUG_INFO = NO; | |
| 2451 | - MTL_FAST_MATH = YES; | |
| 2452 | - PRODUCT_NAME = "$(TARGET_NAME)"; | |
| 2453 | - STRIP_INSTALLED_PRODUCT = NO; | |
| 2454 | - SWIFT_COMPILATION_MODE = wholemodule; | |
| 2455 | - SWIFT_OPTIMIZATION_LEVEL = "-O"; | |
| 2456 | - SWIFT_VERSION = 5.0; | |
| 2457 | - SYMROOT = "${SRCROOT}/../build"; | |
| 2458 | - }; | |
| 2459 | - name = Release; | |
| 2512 | + name = Debug; | |
| 2460 | 2513 | }; |
| 2461 | - 65CAD0DB9ACC9D380CF17B3A59007744 /* Debug */ = { | |
| 2514 | + 47DAF87FCCCAB26DF692F7F33319AEE3 /* Release */ = { | |
| 2462 | 2515 | isa = XCBuildConfiguration; |
| 2463 | - baseConfigurationReference = C468387A3C29B551DAA6C6AF5145ACB1 /* Pods-YBImageBrowser_DSCnliveShop_Tests.debug.xcconfig */; | |
| 2516 | + baseConfigurationReference = 2FA8DD8E17F9BA15127FBA5142430978 /* YBImageBrowser_DSCnliveShop.release.xcconfig */; | |
| 2464 | 2517 | buildSettings = { |
| 2465 | - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; | |
| 2466 | 2518 | CODE_SIGN_IDENTITY = ""; |
| 2467 | 2519 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; |
| 2468 | 2520 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; |
| ... | ... | @@ -2472,24 +2524,24 @@ |
| 2472 | 2524 | DYLIB_COMPATIBILITY_VERSION = 1; |
| 2473 | 2525 | DYLIB_CURRENT_VERSION = 1; |
| 2474 | 2526 | DYLIB_INSTALL_NAME_BASE = "@rpath"; |
| 2475 | - INFOPLIST_FILE = "Target Support Files/Pods-YBImageBrowser_DSCnliveShop_Tests/Pods-YBImageBrowser_DSCnliveShop_Tests-Info.plist"; | |
| 2527 | + GCC_PREFIX_HEADER = "Target Support Files/YBImageBrowser_DSCnliveShop/YBImageBrowser_DSCnliveShop-prefix.pch"; | |
| 2528 | + INFOPLIST_FILE = "Target Support Files/YBImageBrowser_DSCnliveShop/YBImageBrowser_DSCnliveShop-Info.plist"; | |
| 2476 | 2529 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; |
| 2477 | - IPHONEOS_DEPLOYMENT_TARGET = 8.0; | |
| 2530 | + IPHONEOS_DEPLOYMENT_TARGET = 9.0; | |
| 2478 | 2531 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; |
| 2479 | - MACH_O_TYPE = staticlib; | |
| 2480 | - MODULEMAP_FILE = "Target Support Files/Pods-YBImageBrowser_DSCnliveShop_Tests/Pods-YBImageBrowser_DSCnliveShop_Tests.modulemap"; | |
| 2481 | - OTHER_LDFLAGS = ""; | |
| 2482 | - OTHER_LIBTOOLFLAGS = ""; | |
| 2483 | - PODS_ROOT = "$(SRCROOT)"; | |
| 2484 | - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; | |
| 2485 | - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; | |
| 2532 | + MODULEMAP_FILE = "Target Support Files/YBImageBrowser_DSCnliveShop/YBImageBrowser_DSCnliveShop.modulemap"; | |
| 2533 | + PRODUCT_MODULE_NAME = YBImageBrowser_DSCnliveShop; | |
| 2534 | + PRODUCT_NAME = YBImageBrowser_DSCnliveShop; | |
| 2486 | 2535 | SDKROOT = iphoneos; |
| 2487 | 2536 | SKIP_INSTALL = YES; |
| 2537 | + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; | |
| 2538 | + SWIFT_VERSION = 4.0; | |
| 2488 | 2539 | TARGETED_DEVICE_FAMILY = "1,2"; |
| 2540 | + VALIDATE_PRODUCT = YES; | |
| 2489 | 2541 | VERSIONING_SYSTEM = "apple-generic"; |
| 2490 | 2542 | VERSION_INFO_PREFIX = ""; |
| 2491 | 2543 | }; |
| 2492 | - name = Debug; | |
| 2544 | + name = Release; | |
| 2493 | 2545 | }; |
| 2494 | 2546 | 6966535A7DBCE30F3B4CF73894B214CD /* Debug */ = { |
| 2495 | 2547 | isa = XCBuildConfiguration; |
| ... | ... | @@ -2554,41 +2606,67 @@ |
| 2554 | 2606 | }; |
| 2555 | 2607 | name = Release; |
| 2556 | 2608 | }; |
| 2557 | - 7DA921B4081D5F0D0F536BC991584013 /* Release */ = { | |
| 2609 | + 8F17DC3A99F99FBAD606CE6963886315 /* Release */ = { | |
| 2558 | 2610 | isa = XCBuildConfiguration; |
| 2559 | - baseConfigurationReference = C6E9A2826ED6D4338904F22C672B4751 /* Pods-YBImageBrowser_DSCnliveShop_Tests.release.xcconfig */; | |
| 2560 | 2611 | buildSettings = { |
| 2561 | - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; | |
| 2562 | - CODE_SIGN_IDENTITY = ""; | |
| 2563 | - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; | |
| 2564 | - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; | |
| 2565 | - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; | |
| 2566 | - CURRENT_PROJECT_VERSION = 1; | |
| 2567 | - DEFINES_MODULE = YES; | |
| 2568 | - DYLIB_COMPATIBILITY_VERSION = 1; | |
| 2569 | - DYLIB_CURRENT_VERSION = 1; | |
| 2570 | - DYLIB_INSTALL_NAME_BASE = "@rpath"; | |
| 2571 | - INFOPLIST_FILE = "Target Support Files/Pods-YBImageBrowser_DSCnliveShop_Tests/Pods-YBImageBrowser_DSCnliveShop_Tests-Info.plist"; | |
| 2572 | - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; | |
| 2573 | - IPHONEOS_DEPLOYMENT_TARGET = 8.0; | |
| 2574 | - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; | |
| 2575 | - MACH_O_TYPE = staticlib; | |
| 2576 | - MODULEMAP_FILE = "Target Support Files/Pods-YBImageBrowser_DSCnliveShop_Tests/Pods-YBImageBrowser_DSCnliveShop_Tests.modulemap"; | |
| 2577 | - OTHER_LDFLAGS = ""; | |
| 2578 | - OTHER_LIBTOOLFLAGS = ""; | |
| 2579 | - PODS_ROOT = "$(SRCROOT)"; | |
| 2580 | - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; | |
| 2581 | - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; | |
| 2582 | - SDKROOT = iphoneos; | |
| 2583 | - SKIP_INSTALL = YES; | |
| 2584 | - TARGETED_DEVICE_FAMILY = "1,2"; | |
| 2585 | - VALIDATE_PRODUCT = YES; | |
| 2586 | - VERSIONING_SYSTEM = "apple-generic"; | |
| 2587 | - VERSION_INFO_PREFIX = ""; | |
| 2612 | + ALWAYS_SEARCH_USER_PATHS = NO; | |
| 2613 | + CLANG_ANALYZER_NONNULL = YES; | |
| 2614 | + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; | |
| 2615 | + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; | |
| 2616 | + CLANG_CXX_LIBRARY = "libc++"; | |
| 2617 | + CLANG_ENABLE_MODULES = YES; | |
| 2618 | + CLANG_ENABLE_OBJC_ARC = YES; | |
| 2619 | + CLANG_ENABLE_OBJC_WEAK = YES; | |
| 2620 | + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; | |
| 2621 | + CLANG_WARN_BOOL_CONVERSION = YES; | |
| 2622 | + CLANG_WARN_COMMA = YES; | |
| 2623 | + CLANG_WARN_CONSTANT_CONVERSION = YES; | |
| 2624 | + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; | |
| 2625 | + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | |
| 2626 | + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; | |
| 2627 | + CLANG_WARN_EMPTY_BODY = YES; | |
| 2628 | + CLANG_WARN_ENUM_CONVERSION = YES; | |
| 2629 | + CLANG_WARN_INFINITE_RECURSION = YES; | |
| 2630 | + CLANG_WARN_INT_CONVERSION = YES; | |
| 2631 | + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; | |
| 2632 | + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; | |
| 2633 | + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; | |
| 2634 | + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | |
| 2635 | + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; | |
| 2636 | + CLANG_WARN_STRICT_PROTOTYPES = YES; | |
| 2637 | + CLANG_WARN_SUSPICIOUS_MOVE = YES; | |
| 2638 | + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; | |
| 2639 | + CLANG_WARN_UNREACHABLE_CODE = YES; | |
| 2640 | + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | |
| 2641 | + COPY_PHASE_STRIP = NO; | |
| 2642 | + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | |
| 2643 | + ENABLE_NS_ASSERTIONS = NO; | |
| 2644 | + ENABLE_STRICT_OBJC_MSGSEND = YES; | |
| 2645 | + GCC_C_LANGUAGE_STANDARD = gnu11; | |
| 2646 | + GCC_NO_COMMON_BLOCKS = YES; | |
| 2647 | + GCC_PREPROCESSOR_DEFINITIONS = ( | |
| 2648 | + "POD_CONFIGURATION_RELEASE=1", | |
| 2649 | + "$(inherited)", | |
| 2650 | + ); | |
| 2651 | + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | |
| 2652 | + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | |
| 2653 | + GCC_WARN_UNDECLARED_SELECTOR = YES; | |
| 2654 | + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | |
| 2655 | + GCC_WARN_UNUSED_FUNCTION = YES; | |
| 2656 | + GCC_WARN_UNUSED_VARIABLE = YES; | |
| 2657 | + IPHONEOS_DEPLOYMENT_TARGET = 9.0; | |
| 2658 | + MTL_ENABLE_DEBUG_INFO = NO; | |
| 2659 | + MTL_FAST_MATH = YES; | |
| 2660 | + PRODUCT_NAME = "$(TARGET_NAME)"; | |
| 2661 | + STRIP_INSTALLED_PRODUCT = NO; | |
| 2662 | + SWIFT_COMPILATION_MODE = wholemodule; | |
| 2663 | + SWIFT_OPTIMIZATION_LEVEL = "-O"; | |
| 2664 | + SWIFT_VERSION = 5.0; | |
| 2665 | + SYMROOT = "${SRCROOT}/../build"; | |
| 2588 | 2666 | }; |
| 2589 | 2667 | name = Release; |
| 2590 | 2668 | }; |
| 2591 | - 7EF7227D9B20A1D549000096ACCB23D7 /* Debug */ = { | |
| 2669 | + 916E0404255105F480DC4950B7625F7A /* Debug */ = { | |
| 2592 | 2670 | isa = XCBuildConfiguration; |
| 2593 | 2671 | buildSettings = { |
| 2594 | 2672 | ALWAYS_SEARCH_USER_PATHS = NO; |
| ... | ... | @@ -2639,7 +2717,7 @@ |
| 2639 | 2717 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; |
| 2640 | 2718 | GCC_WARN_UNUSED_FUNCTION = YES; |
| 2641 | 2719 | GCC_WARN_UNUSED_VARIABLE = YES; |
| 2642 | - IPHONEOS_DEPLOYMENT_TARGET = 8.0; | |
| 2720 | + IPHONEOS_DEPLOYMENT_TARGET = 9.0; | |
| 2643 | 2721 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; |
| 2644 | 2722 | MTL_FAST_MATH = YES; |
| 2645 | 2723 | ONLY_ACTIVE_ARCH = YES; |
| ... | ... | @@ -2652,9 +2730,9 @@ |
| 2652 | 2730 | }; |
| 2653 | 2731 | name = Debug; |
| 2654 | 2732 | }; |
| 2655 | - 9BED370792FF2E3FFBF58B383A0F80DC /* Release */ = { | |
| 2733 | + E795E7E265DDC88CE4D069201368C872 /* Release */ = { | |
| 2656 | 2734 | isa = XCBuildConfiguration; |
| 2657 | - baseConfigurationReference = 3F544E13A1E9FD128E0AF79DBF99E602 /* Pods-YBImageBrowser_DSCnliveShop_Example.release.xcconfig */; | |
| 2735 | + baseConfigurationReference = C6E9A2826ED6D4338904F22C672B4751 /* Pods-YBImageBrowser_DSCnliveShop_Tests.release.xcconfig */; | |
| 2658 | 2736 | buildSettings = { |
| 2659 | 2737 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; |
| 2660 | 2738 | CODE_SIGN_IDENTITY = ""; |
| ... | ... | @@ -2666,12 +2744,12 @@ |
| 2666 | 2744 | DYLIB_COMPATIBILITY_VERSION = 1; |
| 2667 | 2745 | DYLIB_CURRENT_VERSION = 1; |
| 2668 | 2746 | DYLIB_INSTALL_NAME_BASE = "@rpath"; |
| 2669 | - INFOPLIST_FILE = "Target Support Files/Pods-YBImageBrowser_DSCnliveShop_Example/Pods-YBImageBrowser_DSCnliveShop_Example-Info.plist"; | |
| 2747 | + INFOPLIST_FILE = "Target Support Files/Pods-YBImageBrowser_DSCnliveShop_Tests/Pods-YBImageBrowser_DSCnliveShop_Tests-Info.plist"; | |
| 2670 | 2748 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; |
| 2671 | - IPHONEOS_DEPLOYMENT_TARGET = 8.0; | |
| 2749 | + IPHONEOS_DEPLOYMENT_TARGET = 9.0; | |
| 2672 | 2750 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; |
| 2673 | 2751 | MACH_O_TYPE = staticlib; |
| 2674 | - MODULEMAP_FILE = "Target Support Files/Pods-YBImageBrowser_DSCnliveShop_Example/Pods-YBImageBrowser_DSCnliveShop_Example.modulemap"; | |
| 2752 | + MODULEMAP_FILE = "Target Support Files/Pods-YBImageBrowser_DSCnliveShop_Tests/Pods-YBImageBrowser_DSCnliveShop_Tests.modulemap"; | |
| 2675 | 2753 | OTHER_LDFLAGS = ""; |
| 2676 | 2754 | OTHER_LIBTOOLFLAGS = ""; |
| 2677 | 2755 | PODS_ROOT = "$(SRCROOT)"; |
| ... | ... | @@ -2686,10 +2764,11 @@ |
| 2686 | 2764 | }; |
| 2687 | 2765 | name = Release; |
| 2688 | 2766 | }; |
| 2689 | - BEA610A857E2D8D010A0A55145F83675 /* Debug */ = { | |
| 2767 | + FF4BFE2A81294464234F9404FF9BB79B /* Debug */ = { | |
| 2690 | 2768 | isa = XCBuildConfiguration; |
| 2691 | - baseConfigurationReference = 35974735D558DD140EC7A519306676BF /* SDWebImage.debug.xcconfig */; | |
| 2769 | + baseConfigurationReference = C468387A3C29B551DAA6C6AF5145ACB1 /* Pods-YBImageBrowser_DSCnliveShop_Tests.debug.xcconfig */; | |
| 2692 | 2770 | buildSettings = { |
| 2771 | + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; | |
| 2693 | 2772 | CODE_SIGN_IDENTITY = ""; |
| 2694 | 2773 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; |
| 2695 | 2774 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; |
| ... | ... | @@ -2699,25 +2778,26 @@ |
| 2699 | 2778 | DYLIB_COMPATIBILITY_VERSION = 1; |
| 2700 | 2779 | DYLIB_CURRENT_VERSION = 1; |
| 2701 | 2780 | DYLIB_INSTALL_NAME_BASE = "@rpath"; |
| 2702 | - GCC_PREFIX_HEADER = "Target Support Files/SDWebImage/SDWebImage-prefix.pch"; | |
| 2703 | - INFOPLIST_FILE = "Target Support Files/SDWebImage/SDWebImage-Info.plist"; | |
| 2781 | + INFOPLIST_FILE = "Target Support Files/Pods-YBImageBrowser_DSCnliveShop_Tests/Pods-YBImageBrowser_DSCnliveShop_Tests-Info.plist"; | |
| 2704 | 2782 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; |
| 2705 | - IPHONEOS_DEPLOYMENT_TARGET = 8.0; | |
| 2783 | + IPHONEOS_DEPLOYMENT_TARGET = 9.0; | |
| 2706 | 2784 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; |
| 2707 | - MODULEMAP_FILE = "Target Support Files/SDWebImage/SDWebImage.modulemap"; | |
| 2708 | - PRODUCT_MODULE_NAME = SDWebImage; | |
| 2709 | - PRODUCT_NAME = SDWebImage; | |
| 2785 | + MACH_O_TYPE = staticlib; | |
| 2786 | + MODULEMAP_FILE = "Target Support Files/Pods-YBImageBrowser_DSCnliveShop_Tests/Pods-YBImageBrowser_DSCnliveShop_Tests.modulemap"; | |
| 2787 | + OTHER_LDFLAGS = ""; | |
| 2788 | + OTHER_LIBTOOLFLAGS = ""; | |
| 2789 | + PODS_ROOT = "$(SRCROOT)"; | |
| 2790 | + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; | |
| 2791 | + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; | |
| 2710 | 2792 | SDKROOT = iphoneos; |
| 2711 | 2793 | SKIP_INSTALL = YES; |
| 2712 | - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; | |
| 2713 | - SWIFT_VERSION = 4.0; | |
| 2714 | 2794 | TARGETED_DEVICE_FAMILY = "1,2"; |
| 2715 | 2795 | VERSIONING_SYSTEM = "apple-generic"; |
| 2716 | 2796 | VERSION_INFO_PREFIX = ""; |
| 2717 | 2797 | }; |
| 2718 | 2798 | name = Debug; |
| 2719 | 2799 | }; |
| 2720 | - EA56C50E93CDB934316EBC888CDCBFA9 /* Debug */ = { | |
| 2800 | + FF589B472AB97CF036E0C55E1D0ED859 /* Debug */ = { | |
| 2721 | 2801 | isa = XCBuildConfiguration; |
| 2722 | 2802 | baseConfigurationReference = 32AA9B50FD45F8829F9B21411363EC98 /* Pods-YBImageBrowser_DSCnliveShop_Example.debug.xcconfig */; |
| 2723 | 2803 | buildSettings = { |
| ... | ... | @@ -2733,7 +2813,7 @@ |
| 2733 | 2813 | DYLIB_INSTALL_NAME_BASE = "@rpath"; |
| 2734 | 2814 | INFOPLIST_FILE = "Target Support Files/Pods-YBImageBrowser_DSCnliveShop_Example/Pods-YBImageBrowser_DSCnliveShop_Example-Info.plist"; |
| 2735 | 2815 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; |
| 2736 | - IPHONEOS_DEPLOYMENT_TARGET = 8.0; | |
| 2816 | + IPHONEOS_DEPLOYMENT_TARGET = 9.0; | |
| 2737 | 2817 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; |
| 2738 | 2818 | MACH_O_TYPE = staticlib; |
| 2739 | 2819 | MODULEMAP_FILE = "Target Support Files/Pods-YBImageBrowser_DSCnliveShop_Example/Pods-YBImageBrowser_DSCnliveShop_Example.modulemap"; |
| ... | ... | @@ -2765,8 +2845,8 @@ |
| 2765 | 2845 | 136A218DAAC157615BAC2D4978A8D3E4 /* Build configuration list for PBXNativeTarget "Pods-YBImageBrowser_DSCnliveShop_Example" */ = { |
| 2766 | 2846 | isa = XCConfigurationList; |
| 2767 | 2847 | buildConfigurations = ( |
| 2768 | - EA56C50E93CDB934316EBC888CDCBFA9 /* Debug */, | |
| 2769 | - 9BED370792FF2E3FFBF58B383A0F80DC /* Release */, | |
| 2848 | + FF589B472AB97CF036E0C55E1D0ED859 /* Debug */, | |
| 2849 | + 08BD4C03DE661802FE73864480E43F7C /* Release */, | |
| 2770 | 2850 | ); |
| 2771 | 2851 | defaultConfigurationIsVisible = 0; |
| 2772 | 2852 | defaultConfigurationName = Release; |
| ... | ... | @@ -2774,8 +2854,8 @@ |
| 2774 | 2854 | 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { |
| 2775 | 2855 | isa = XCConfigurationList; |
| 2776 | 2856 | buildConfigurations = ( |
| 2777 | - 7EF7227D9B20A1D549000096ACCB23D7 /* Debug */, | |
| 2778 | - 4BE66A09A74FD25164AAB3C2645B9B93 /* Release */, | |
| 2857 | + 916E0404255105F480DC4950B7625F7A /* Debug */, | |
| 2858 | + 8F17DC3A99F99FBAD606CE6963886315 /* Release */, | |
| 2779 | 2859 | ); |
| 2780 | 2860 | defaultConfigurationIsVisible = 0; |
| 2781 | 2861 | defaultConfigurationName = Release; |
| ... | ... | @@ -2783,17 +2863,17 @@ |
| 2783 | 2863 | 5A6D95389D2189EF0D281DDF2B2691A9 /* Build configuration list for PBXNativeTarget "Pods-YBImageBrowser_DSCnliveShop_Tests" */ = { |
| 2784 | 2864 | isa = XCConfigurationList; |
| 2785 | 2865 | buildConfigurations = ( |
| 2786 | - 65CAD0DB9ACC9D380CF17B3A59007744 /* Debug */, | |
| 2787 | - 7DA921B4081D5F0D0F536BC991584013 /* Release */, | |
| 2866 | + FF4BFE2A81294464234F9404FF9BB79B /* Debug */, | |
| 2867 | + E795E7E265DDC88CE4D069201368C872 /* Release */, | |
| 2788 | 2868 | ); |
| 2789 | 2869 | defaultConfigurationIsVisible = 0; |
| 2790 | 2870 | defaultConfigurationName = Release; |
| 2791 | 2871 | }; |
| 2792 | - 74451F5A9D7B9165630F6C64F97C5913 /* Build configuration list for PBXNativeTarget "SDWebImage" */ = { | |
| 2872 | + AC6F755EB18559BA16F3A7501A53F36A /* Build configuration list for PBXNativeTarget "SDWebImage" */ = { | |
| 2793 | 2873 | isa = XCConfigurationList; |
| 2794 | 2874 | buildConfigurations = ( |
| 2795 | - BEA610A857E2D8D010A0A55145F83675 /* Debug */, | |
| 2796 | - 0D51E6D665830E8C0F6875C54D2AC40B /* Release */, | |
| 2875 | + 10ED6ADB52D8B1FCFB0CF456419C6894 /* Debug */, | |
| 2876 | + 0E0881E1CF6CB5CB69A59B5DB8946635 /* Release */, | |
| 2797 | 2877 | ); |
| 2798 | 2878 | defaultConfigurationIsVisible = 0; |
| 2799 | 2879 | defaultConfigurationName = Release; | ... | ... |
Example/Pods/SDWebImage/README.md
| ... | ... | @@ -19,8 +19,9 @@ This library provides an async image downloader with cache support. For convenie |
| 19 | 19 | - [x] Categories for `UIImageView`, `UIButton`, `MKAnnotationView` adding web image and cache management |
| 20 | 20 | - [x] An asynchronous image downloader |
| 21 | 21 | - [x] An asynchronous memory + disk image caching with automatic cache expiration handling |
| 22 | -- [x] A background image decompression | |
| 23 | -- [x] Progressive image loading (including animated image, like GIF showing in Web browser) | |
| 22 | +- [x] A background image decompression to avoid frame rate drop | |
| 23 | +- [x] [Progressive image loading](https://github.com/SDWebImage/SDWebImage/wiki/Advanced-Usage#progressive-animation) (including animated image, like GIF showing in Web browser) | |
| 24 | +- [x] [Thumbnail image decoding](https://github.com/SDWebImage/SDWebImage/wiki/Advanced-Usage#thumbnail-decoding-550) to save CPU && Memory for large images | |
| 24 | 25 | - [x] [Extendable image coder](https://github.com/SDWebImage/SDWebImage/wiki/Advanced-Usage#custom-coder-420) to support massive image format, like WebP |
| 25 | 26 | - [x] [Full-stack solution for animated images](https://github.com/SDWebImage/SDWebImage/wiki/Advanced-Usage#animated-image-50) which keep a balance between CPU && Memory |
| 26 | 27 | - [x] [Customizable and composable transformations](https://github.com/SDWebImage/SDWebImage/wiki/Advanced-Usage#transformer-50) can be applied to the images right after download |
| ... | ... | @@ -36,11 +37,11 @@ This library provides an async image downloader with cache support. For convenie |
| 36 | 37 | |
| 37 | 38 | ## Supported Image Formats |
| 38 | 39 | |
| 39 | -- Image formats supported by UIImage (JPEG, PNG, HEIC, ...), including GIF/APNG/HEIC animation | |
| 40 | +- Image formats supported by Apple system (JPEG, PNG, TIFF, HEIC, ...), including GIF/APNG/HEIC animation | |
| 40 | 41 | - WebP format, including animated WebP (use the [SDWebImageWebPCoder](https://github.com/SDWebImage/SDWebImageWebPCoder) project) |
| 41 | 42 | - Support extendable coder plugins for new image formats like BPG, AVIF. And vector format like PDF, SVG. See all the list in [Image coder plugin List](https://github.com/SDWebImage/SDWebImage/wiki/Coder-Plugin-List) |
| 42 | 43 | |
| 43 | -## Additional modules | |
| 44 | +## Additional modules and Ecosystem | |
| 44 | 45 | |
| 45 | 46 | In order to keep SDWebImage focused and limited to the core features, but also allow extensibility and custom behaviors, during the 5.0 refactoring we focused on modularizing the library. |
| 46 | 47 | As such, we have moved/built new modules to [SDWebImage org](https://github.com/SDWebImage). |
| ... | ... | @@ -48,29 +49,47 @@ As such, we have moved/built new modules to [SDWebImage org](https://github.com/ |
| 48 | 49 | #### SwiftUI |
| 49 | 50 | [SwiftUI](https://developer.apple.com/xcode/swiftui/) is an innovative UI framework written in Swift to build user interfaces across all Apple platforms. |
| 50 | 51 | |
| 51 | -We support SwiftUI by building with the functions (caching, loading and animation) powered by SDWebImage. You can have a try with [SDWebImageSwiftUI](https://github.com/SDWebImage/SDWebImageSwiftUI) | |
| 52 | +We support SwiftUI by building a brand new framework called [SDWebImageSwiftUI](https://github.com/SDWebImage/SDWebImageSwiftUI), which is built on top of SDWebImage core functions (caching, loading and animation). | |
| 53 | + | |
| 54 | +The new framework introduce two View structs `WebImage` and `AnimatedImage` for SwiftUI world, `ImageIndicator` modifier for any View, `ImageManager` observable object for data source. Supports iOS 13+/macOS 10.15+/tvOS 13+/watchOS 6+ and Swift 5.1. Have a nice try and provide feedback! | |
| 52 | 55 | |
| 53 | 56 | #### Coders for additional image formats |
| 54 | -- [SDWebImageWebPCoder](https://github.com/SDWebImage/SDWebImageWebPCoder) - coder for WebP image format. Based on [libwebp](https://chromium.googlesource.com/webm/libwebp) | |
| 55 | -- [SDWebImageHEIFCoder](https://github.com/SDWebImage/SDWebImageHEIFCoder) - coder to support HEIF image without Apple's `Image/IO framework`, iOS 8+/macOS 10.10+ support. | |
| 56 | -- [SDWebImageBPGCoder](https://github.com/SDWebImage/SDWebImageBPGCoder) - coder for BPG format | |
| 57 | -- [SDWebImageFLIFCoder](https://github.com/SDWebImage/SDWebImageFLIFCoder) - coder for FLIF format | |
| 58 | -- [SDWebImageAVIFCoder](https://github.com/SDWebImage/SDWebImageAVIFCoder) - coder for AVIF (AV1-based) format | |
| 57 | +- [SDWebImageWebPCoder](https://github.com/SDWebImage/SDWebImageWebPCoder) - coder for WebP format. Based on [libwebp](https://chromium.googlesource.com/webm/libwebp) | |
| 58 | +- [SDWebImageHEIFCoder](https://github.com/SDWebImage/SDWebImageHEIFCoder) - coder for HEIF format, iOS 8+/macOS 10.10+ support. Based on [libheif](https://github.com/strukturag/libheif) | |
| 59 | +- [SDWebImageBPGCoder](https://github.com/SDWebImage/SDWebImageBPGCoder) - coder for BPG format. Based on [libbpg](https://github.com/mirrorer/libbpg) | |
| 60 | +- [SDWebImageFLIFCoder](https://github.com/SDWebImage/SDWebImageFLIFCoder) - coder for FLIF format. Based on [libflif](https://github.com/FLIF-hub/FLIF) | |
| 61 | +- [SDWebImageAVIFCoder](https://github.com/SDWebImage/SDWebImageAVIFCoder) - coder for AVIF (AV1-based) format. Based on [libavif](https://github.com/AOMediaCodec/libavif) | |
| 62 | +- [SDWebImagePDFCoder](https://github.com/SDWebImage/SDWebImagePDFCoder) - coder for PDF vector format. Using built-in frameworks | |
| 63 | +- [SDWebImageSVGCoder](https://github.com/SDWebImage/SDWebImageSVGCoder) - coder for SVG vector format. Using built-in frameworks | |
| 64 | +- [SDWebImageLottieCoder](https://github.com/SDWebImage/SDWebImageLottieCoder) - coder for Lottie animation format. Based on [rlottie](https://github.com/Samsung/rlottie) | |
| 59 | 65 | - and more from community! |
| 60 | 66 | |
| 61 | -#### Loaders | |
| 67 | +#### Custom Caches | |
| 68 | +- [SDWebImageYYPlugin](https://github.com/SDWebImage/SDWebImageYYPlugin) - plugin to support caching images with [YYCache](https://github.com/ibireme/YYCache) | |
| 69 | +- [SDWebImagePINPlugin](https://github.com/SDWebImage/SDWebImagePINPlugin) - plugin to support caching images with [PINCache](https://github.com/pinterest/PINCache) | |
| 70 | + | |
| 71 | +#### Custom Loaders | |
| 62 | 72 | - [SDWebImagePhotosPlugin](https://github.com/SDWebImage/SDWebImagePhotosPlugin) - plugin to support loading images from Photos (using `Photos.framework`) |
| 73 | +- [SDWebImageLinkPlugin](https://github.com/SDWebImage/SDWebImageLinkPlugin) - plugin to support loading images from rich link url, as well as `LPLinkView` (using `LinkPresentation.framework`) | |
| 63 | 74 | |
| 64 | 75 | #### Integration with 3rd party libraries |
| 76 | +- [SDWebImageLottiePlugin](https://github.com/SDWebImage/SDWebImageLottiePlugin) - plugin to support [Lottie-iOS](https://github.com/airbnb/lottie-ios), vector animation rending with remote JSON files | |
| 77 | +- [SDWebImageSVGKitPlugin](https://github.com/SDWebImage/SDWebImageLottiePlugin) - plugin to support [SVGKit](https://github.com/SVGKit/SVGKit), SVG rendering using Core Animation, iOS 8+/macOS 10.10+ support | |
| 65 | 78 | - [SDWebImageFLPlugin](https://github.com/SDWebImage/SDWebImageFLPlugin) - plugin to support [FLAnimatedImage](https://github.com/Flipboard/FLAnimatedImage) as the engine for animated GIFs |
| 66 | 79 | - [SDWebImageYYPlugin](https://github.com/SDWebImage/SDWebImageYYPlugin) - plugin to integrate [YYImage](https://github.com/ibireme/YYImage) & [YYCache](https://github.com/ibireme/YYCache) for image rendering & caching |
| 67 | 80 | |
| 81 | +#### Community driven popular libraries | |
| 82 | +- [FirebaseUI](https://github.com/firebase/FirebaseUI-iOS) - Firebase Storage binding for query images, based on SDWebImage loader system | |
| 83 | +- [react-native-fast-image](https://github.com/DylanVann/react-native-fast-image) - React Native fast image component, based on SDWebImage Animated Image solution | |
| 84 | +- [flutter_image_compress](https://github.com/OpenFlutter/flutter_image_compress) - Flutter compresses image plugin, based on SDWebImage WebP coder plugin | |
| 85 | + | |
| 68 | 86 | #### Make our lives easier |
| 69 | 87 | - [libwebp-Xcode](https://github.com/SDWebImage/libwebp-Xcode) - A wrapper for [libwebp](https://chromium.googlesource.com/webm/libwebp) + an Xcode project. |
| 70 | 88 | - [libheif-Xcode](https://github.com/SDWebImage/libheif-Xcode) - A wrapper for [libheif](https://github.com/strukturag/libheif) + an Xcode project. |
| 71 | -- and more third-party C/C++ image codec libraries with CocoaPods/Carthage support. | |
| 89 | +- [libavif-Xcode](https://github.com/SDWebImage/libavif-Xcode) - A wrapper for [libavif](https://github.com/AOMediaCodec/libavif) + an Xcode project. | |
| 90 | +- and more third-party C/C++ image codec libraries with CocoaPods/Carthage/SwiftPM support. | |
| 72 | 91 | |
| 73 | -You can use those directly, or create similar components of your own. | |
| 92 | +You can use those directly, or create similar components of your own, by using the customizable architecture of SDWebImage. | |
| 74 | 93 | |
| 75 | 94 | ## Requirements |
| 76 | 95 | |
| ... | ... | @@ -108,11 +127,13 @@ You can use those directly, or create similar components of your own. |
| 108 | 127 | - If you'd like to **ask a general question**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/sdwebimage). |
| 109 | 128 | - If you **found a bug**, open an issue. |
| 110 | 129 | - If you **have a feature request**, open an issue. |
| 130 | +- If you **need IRC channel**, use [Gitter](https://gitter.im/SDWebImage/community). | |
| 111 | 131 | |
| 112 | 132 | ## Contribution |
| 113 | 133 | |
| 114 | 134 | - If you **want to contribute**, read the [Contributing Guide](https://github.com/SDWebImage/SDWebImage/blob/master/.github/CONTRIBUTING.md) |
| 115 | 135 | - For **development contribution guide**, read the [How-To-Contribute](https://github.com/SDWebImage/SDWebImage/wiki/How-to-Contribute) |
| 136 | +- For **understanding code architecture**, read the [Code Architecture Analysis](https://github.com/SDWebImage/SDWebImage/wiki/5.6-Code-Architecture-Analysis) | |
| 116 | 137 | |
| 117 | 138 | ## How To Use |
| 118 | 139 | |
| ... | ... | @@ -138,7 +159,30 @@ imageView.sd_setImage(with: URL(string: "http://www.domain.com/path/to/image.jpg |
| 138 | 159 | ## Animated Images (GIF) support |
| 139 | 160 | |
| 140 | 161 | In 5.0, we introduced a brand new mechanism for supporting animated images. This includes animated image loading, rendering, decoding, and also supports customizations (for advanced users). |
| 141 | -This animated image solution is available for `iOS`/`tvOS`/`macOS`. The `SDAnimatedImage` is subclass of `UIImage/NSImage`, and `SDAnimatedImageView` is subclass of `UIImageView/NSImageView`, to make them compatible with the common frameworks APIs. See [Animated Image](https://github.com/SDWebImage/SDWebImage/wiki/Advanced-Usage#animated-image-50) for more detailed information. | |
| 162 | + | |
| 163 | +This animated image solution is available for `iOS`/`tvOS`/`macOS`. The `SDAnimatedImage` is subclass of `UIImage/NSImage`, and `SDAnimatedImageView` is subclass of `UIImageView/NSImageView`, to make them compatible with the common frameworks APIs. | |
| 164 | + | |
| 165 | +The `SDAnimatedImageView` supports the familiar image loading category methods, works like drop-in replacement for `UIImageView/NSImageView`. | |
| 166 | + | |
| 167 | +Don't have UIView (like WatchKit or CALayer)? you can still use `SDAnimatedPlayer` the player engine for advanced playback and rendering. | |
| 168 | + | |
| 169 | +See [Animated Image](https://github.com/SDWebImage/SDWebImage/wiki/Advanced-Usage#animated-image-50) for more detailed information. | |
| 170 | + | |
| 171 | +* Objective-C | |
| 172 | + | |
| 173 | +```objective-c | |
| 174 | +SDAnimatedImageView *imageView = [SDAnimatedImageView new]; | |
| 175 | +SDAnimatedImage *animatedImage = [SDAnimatedImage imageNamed:@"image.gif"]; | |
| 176 | +imageView.image = animatedImage; | |
| 177 | +``` | |
| 178 | + | |
| 179 | +* Swift | |
| 180 | + | |
| 181 | +```swift | |
| 182 | +let imageView = SDAnimatedImageView() | |
| 183 | +let animatedImage = SDAnimatedImage(named: "image.gif") | |
| 184 | +imageView.image = animatedImage | |
| 185 | +``` | |
| 142 | 186 | |
| 143 | 187 | #### FLAnimatedImage integration has its own dedicated repo |
| 144 | 188 | In order to clean up things and make our core project do less things, we decided that the `FLAnimatedImage` integration does not belong here. From 5.0, this will still be available, but under a dedicated repo [SDWebImageFLPlugin](https://github.com/SDWebImage/SDWebImageFLPlugin). |
| ... | ... | @@ -240,6 +284,12 @@ In the source files where you need to use the library, import the umbrella heade |
| 240 | 284 | #import <SDWebImage/SDWebImage.h> |
| 241 | 285 | ``` |
| 242 | 286 | |
| 287 | +It's also recommend to use the module import syntax, available for CocoaPods(enable `modular_headers`)/Carthage/SwiftPM. | |
| 288 | + | |
| 289 | +```objecitivec | |
| 290 | +@import SDWebImage; | |
| 291 | +``` | |
| 292 | + | |
| 243 | 293 | ### Build Project |
| 244 | 294 | |
| 245 | 295 | At this point your workspace should build without error. If you are having problem, post to the Issue and the |
| ... | ... | @@ -267,6 +317,8 @@ All source code is licensed under the [MIT License](https://github.com/SDWebImag |
| 267 | 317 | |
| 268 | 318 | ## Architecture |
| 269 | 319 | |
| 320 | +To learn about SDWebImage's architecture design for contribution, read [The Core of SDWebImage v5.6 Architecture](https://github.com/SDWebImage/SDWebImage/wiki/5.6-Code-Architecture-Analysis). Thanks @looseyi for the post and translation. | |
| 321 | + | |
| 270 | 322 | #### High Level Diagram |
| 271 | 323 | <p align="center" > |
| 272 | 324 | <img src="https://raw.githubusercontent.com/SDWebImage/SDWebImage/master/Docs/Diagrams/SDWebImageHighLevelDiagram.jpeg" title="SDWebImage high level diagram"> | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/NSData+ImageContentType.h
| ... | ... | @@ -23,6 +23,8 @@ static const SDImageFormat SDImageFormatTIFF = 3; |
| 23 | 23 | static const SDImageFormat SDImageFormatWebP = 4; |
| 24 | 24 | static const SDImageFormat SDImageFormatHEIC = 5; |
| 25 | 25 | static const SDImageFormat SDImageFormatHEIF = 6; |
| 26 | +static const SDImageFormat SDImageFormatPDF = 7; | |
| 27 | +static const SDImageFormat SDImageFormatSVG = 8; | |
| 26 | 28 | |
| 27 | 29 | /** |
| 28 | 30 | NSData category about the image content type and UTI. |
| ... | ... | @@ -43,14 +45,16 @@ static const SDImageFormat SDImageFormatHEIF = 6; |
| 43 | 45 | * |
| 44 | 46 | * @param format Format as SDImageFormat |
| 45 | 47 | * @return The UTType as CFStringRef |
| 48 | + * @note For unknown format, `kUTTypeImage` abstract type will return | |
| 46 | 49 | */ |
| 47 | 50 | + (nonnull CFStringRef)sd_UTTypeFromImageFormat:(SDImageFormat)format CF_RETURNS_NOT_RETAINED NS_SWIFT_NAME(sd_UTType(from:)); |
| 48 | 51 | |
| 49 | 52 | /** |
| 50 | - * Convert UTTyppe to SDImageFormat | |
| 53 | + * Convert UTType to SDImageFormat | |
| 51 | 54 | * |
| 52 | 55 | * @param uttype The UTType as CFStringRef |
| 53 | 56 | * @return The Format as SDImageFormat |
| 57 | + * @note For unknown type, `SDImageFormatUndefined` will return | |
| 54 | 58 | */ |
| 55 | 59 | + (SDImageFormat)sd_imageFormatFromUTType:(nonnull CFStringRef)uttype; |
| 56 | 60 | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/NSData+ImageContentType.m
| ... | ... | @@ -17,6 +17,7 @@ |
| 17 | 17 | |
| 18 | 18 | // Currently Image/IO does not support WebP |
| 19 | 19 | #define kSDUTTypeWebP ((__bridge CFStringRef)@"public.webp") |
| 20 | +#define kSVGTagEnd @"</svg>" | |
| 20 | 21 | |
| 21 | 22 | @implementation NSData (ImageContentType) |
| 22 | 23 | |
| ... | ... | @@ -65,6 +66,24 @@ |
| 65 | 66 | } |
| 66 | 67 | break; |
| 67 | 68 | } |
| 69 | + case 0x25: { | |
| 70 | + if (data.length >= 4) { | |
| 71 | ||
| 72 | + NSString *testString = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(1, 3)] encoding:NSASCIIStringEncoding]; | |
| 73 | + if ([testString isEqualToString:@"PDF"]) { | |
| 74 | + return SDImageFormatPDF; | |
| 75 | + } | |
| 76 | + } | |
| 77 | + } | |
| 78 | + case 0x3C: { | |
| 79 | + if (data.length > 100) { | |
| 80 | + // Check end with SVG tag | |
| 81 | + NSString *testString = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(data.length - 100, 100)] encoding:NSASCIIStringEncoding]; | |
| 82 | + if ([testString containsString:kSVGTagEnd]) { | |
| 83 | + return SDImageFormatSVG; | |
| 84 | + } | |
| 85 | + } | |
| 86 | + } | |
| 68 | 87 | } |
| 69 | 88 | return SDImageFormatUndefined; |
| 70 | 89 | } |
| ... | ... | @@ -93,9 +112,15 @@ |
| 93 | 112 | case SDImageFormatHEIF: |
| 94 | 113 | UTType = kSDUTTypeHEIF; |
| 95 | 114 | break; |
| 115 | + case SDImageFormatPDF: | |
| 116 | + UTType = kUTTypePDF; | |
| 117 | + break; | |
| 118 | + case SDImageFormatSVG: | |
| 119 | + UTType = kUTTypeScalableVectorGraphics; | |
| 120 | + break; | |
| 96 | 121 | default: |
| 97 | - // default is kUTTypePNG | |
| 98 | - UTType = kUTTypePNG; | |
| 122 | + // default is kUTTypeImage abstract type | |
| 123 | + UTType = kUTTypeImage; | |
| 99 | 124 | break; |
| 100 | 125 | } |
| 101 | 126 | return UTType; |
| ... | ... | @@ -120,6 +145,10 @@ |
| 120 | 145 | imageFormat = SDImageFormatHEIC; |
| 121 | 146 | } else if (CFStringCompare(uttype, kSDUTTypeHEIF, 0) == kCFCompareEqualTo) { |
| 122 | 147 | imageFormat = SDImageFormatHEIF; |
| 148 | + } else if (CFStringCompare(uttype, kUTTypePDF, 0) == kCFCompareEqualTo) { | |
| 149 | + imageFormat = SDImageFormatPDF; | |
| 150 | + } else if (CFStringCompare(uttype, kUTTypeScalableVectorGraphics, 0) == kCFCompareEqualTo) { | |
| 151 | + imageFormat = SDImageFormatSVG; | |
| 123 | 152 | } else { |
| 124 | 153 | imageFormat = SDImageFormatUndefined; |
| 125 | 154 | } | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/NSImage+Compatibility.h
| ... | ... | @@ -20,6 +20,10 @@ The underlying Core Graphics image object. This will actually use `CGImageForPro |
| 20 | 20 | */ |
| 21 | 21 | @property (nonatomic, readonly, nullable) CGImageRef CGImage; |
| 22 | 22 | /** |
| 23 | + The underlying Core Image data. This will actually use `bestRepresentationForRect` with the image size to find the `NSCIImageRep`. | |
| 24 | + */ | |
| 25 | +@property (nonatomic, readonly, nullable) CIImage *CIImage; | |
| 26 | +/** | |
| 23 | 27 | The scale factor of the image. This wil actually use `bestRepresentationForRect` with image size and pixel size to calculate the scale factor. If failed, use the default value 1.0. Should be greater than or equal to 1.0. |
| 24 | 28 | */ |
| 25 | 29 | @property (nonatomic, readonly) CGFloat scale; |
| ... | ... | @@ -39,6 +43,16 @@ The underlying Core Graphics image object. This will actually use `CGImageForPro |
| 39 | 43 | - (nonnull instancetype)initWithCGImage:(nonnull CGImageRef)cgImage scale:(CGFloat)scale orientation:(CGImagePropertyOrientation)orientation; |
| 40 | 44 | |
| 41 | 45 | /** |
| 46 | + Initializes and returns an image object with the specified Core Image object. The representation is `NSCIImageRep`. | |
| 47 | + | |
| 48 | + @param ciImage A Core Image image object | |
| 49 | + @param scale The image scale factor | |
| 50 | + @param orientation The orientation of the image data | |
| 51 | + @return The image object | |
| 52 | + */ | |
| 53 | +- (nonnull instancetype)initWithCIImage:(nonnull CIImage *)ciImage scale:(CGFloat)scale orientation:(CGImagePropertyOrientation)orientation; | |
| 54 | + | |
| 55 | +/** | |
| 42 | 56 | Returns an image object with the scale factor. The representation is created from the image data. |
| 43 | 57 | @note The difference between these this and `initWithData:` is that `initWithData:` will always use `backingScaleFactor` as scale factor. |
| 44 | 58 | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/NSImage+Compatibility.m
| ... | ... | @@ -20,6 +20,15 @@ |
| 20 | 20 | return cgImage; |
| 21 | 21 | } |
| 22 | 22 | |
| 23 | +- (nullable CIImage *)CIImage { | |
| 24 | + NSRect imageRect = NSMakeRect(0, 0, self.size.width, self.size.height); | |
| 25 | + NSImageRep *imageRep = [self bestRepresentationForRect:imageRect context:nil hints:nil]; | |
| 26 | + if (![imageRep isKindOfClass:NSCIImageRep.class]) { | |
| 27 | + return nil; | |
| 28 | + } | |
| 29 | + return ((NSCIImageRep *)imageRep).CIImage; | |
| 30 | +} | |
| 31 | + | |
| 23 | 32 | - (CGFloat)scale { |
| 24 | 33 | CGFloat scale = 1; |
| 25 | 34 | NSRect imageRect = NSMakeRect(0, 0, self.size.width, self.size.height); |
| ... | ... | @@ -65,6 +74,28 @@ |
| 65 | 74 | return self; |
| 66 | 75 | } |
| 67 | 76 | |
| 77 | +- (instancetype)initWithCIImage:(nonnull CIImage *)ciImage scale:(CGFloat)scale orientation:(CGImagePropertyOrientation)orientation { | |
| 78 | + NSCIImageRep *imageRep; | |
| 79 | + if (orientation != kCGImagePropertyOrientationUp) { | |
| 80 | + CIImage *rotatedCIImage = [ciImage imageByApplyingOrientation:orientation]; | |
| 81 | + imageRep = [[NSCIImageRep alloc] initWithCIImage:rotatedCIImage]; | |
| 82 | + } else { | |
| 83 | + imageRep = [[NSCIImageRep alloc] initWithCIImage:ciImage]; | |
| 84 | + } | |
| 85 | + if (scale < 1) { | |
| 86 | + scale = 1; | |
| 87 | + } | |
| 88 | + CGFloat pixelWidth = imageRep.pixelsWide; | |
| 89 | + CGFloat pixelHeight = imageRep.pixelsHigh; | |
| 90 | + NSSize size = NSMakeSize(pixelWidth / scale, pixelHeight / scale); | |
| 91 | + self = [self initWithSize:size]; | |
| 92 | + if (self) { | |
| 93 | + imageRep.size = size; | |
| 94 | + [self addRepresentation:imageRep]; | |
| 95 | + } | |
| 96 | + return self; | |
| 97 | +} | |
| 98 | + | |
| 68 | 99 | - (instancetype)initWithData:(nonnull NSData *)data scale:(CGFloat)scale { |
| 69 | 100 | NSBitmapImageRep *imageRep = [[NSBitmapImageRep alloc] initWithData:data]; |
| 70 | 101 | if (!imageRep) { | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImage.h
| ... | ... | @@ -57,6 +57,12 @@ |
| 57 | 57 | */ |
| 58 | 58 | @property (nonatomic, assign, readonly, getter=isAllFramesLoaded) BOOL allFramesLoaded; |
| 59 | 59 | |
| 60 | +/** | |
| 61 | + Return the animated image coder if the image is created with `initWithAnimatedCoder:scale:` method. | |
| 62 | + @note We use this with animated coder which conforms to `SDProgressiveImageCoder` for progressive animation decoding. | |
| 63 | + */ | |
| 64 | +@property (nonatomic, strong, readonly, nullable) id<SDAnimatedImageCoder> animatedCoder; | |
| 65 | + | |
| 60 | 66 | @end |
| 61 | 67 | |
| 62 | 68 | /** |
| ... | ... | @@ -66,6 +72,7 @@ |
| 66 | 72 | |
| 67 | 73 | // This class override these methods from UIImage(NSImage), and it supports NSSecureCoding. |
| 68 | 74 | // You should use these methods to create a new animated image. Use other methods just call super instead. |
| 75 | +// Pay attention, when the animated image frame count <= 1, all the `SDAnimatedImageProvider` protocol methods will return nil or 0 value, you'd better check the frame count before usage and keep fallback. | |
| 69 | 76 | + (nullable instancetype)imageNamed:(nonnull NSString *)name; // Cache in memory, no Asset Catalog support |
| 70 | 77 | #if __has_include(<UIKit/UITraitCollection.h>) |
| 71 | 78 | + (nullable instancetype)imageNamed:(nonnull NSString *)name inBundle:(nullable NSBundle *)bundle compatibleWithTraitCollection:(nullable UITraitCollection *)traitCollection; // Cache in memory, no Asset Catalog support |
| ... | ... | @@ -94,11 +101,11 @@ |
| 94 | 101 | The scale factor of the image. |
| 95 | 102 | |
| 96 | 103 | @note For UIKit, this just call super instead. |
| 97 | - @note For AppKit, `NSImage` can contains multiple image representations with different scales. However, this class does not do that from the design. We processs the scale like UIKit. This wil actually be calculated from image size and pixel size. | |
| 104 | + @note For AppKit, `NSImage` can contains multiple image representations with different scales. However, this class does not do that from the design. We process the scale like UIKit. This will actually be calculated from image size and pixel size. | |
| 98 | 105 | */ |
| 99 | 106 | @property (nonatomic, readonly) CGFloat scale; |
| 100 | 107 | |
| 101 | -// By default, animated image frames are returned by decoding just in time without keeping into memory. But you can choose to preload them into memory as well, See the decsription in `SDAnimatedImage` protocol. | |
| 108 | +// By default, animated image frames are returned by decoding just in time without keeping into memory. But you can choose to preload them into memory as well, See the description in `SDAnimatedImage` protocol. | |
| 102 | 109 | // After preloaded, there is no huge difference on performance between this and UIImage's `animatedImageWithImages:duration:`. But UIImage's animation have some issues such like blanking and pausing during segue when using in `UIImageView`. It's recommend to use only if need. |
| 103 | 110 | - (void)preloadAllFrames; |
| 104 | 111 | - (void)unloadAllFrames; | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImage.m
| ... | ... | @@ -12,6 +12,9 @@ |
| 12 | 12 | #import "SDImageCodersManager.h" |
| 13 | 13 | #import "SDImageFrame.h" |
| 14 | 14 | #import "UIImage+MemoryCacheCost.h" |
| 15 | +#import "UIImage+Metadata.h" | |
| 16 | +#import "UIImage+MultiFormat.h" | |
| 17 | +#import "SDImageCoderHelper.h" | |
| 15 | 18 | #import "SDImageAssetManager.h" |
| 16 | 19 | #import "objc/runtime.h" |
| 17 | 20 | |
| ... | ... | @@ -32,7 +35,7 @@ static CGFloat SDImageScaleFromPath(NSString *string) { |
| 32 | 35 | |
| 33 | 36 | @interface SDAnimatedImage () |
| 34 | 37 | |
| 35 | -@property (nonatomic, strong) id<SDAnimatedImageCoder> coder; | |
| 38 | +@property (nonatomic, strong) id<SDAnimatedImageCoder> animatedCoder; | |
| 36 | 39 | @property (nonatomic, assign, readwrite) SDImageFormat animatedImageFormat; |
| 37 | 40 | @property (atomic, copy) NSArray<SDImageFrame *> *loadedAnimatedImageFrames; // Mark as atomic to keep thread-safe |
| 38 | 41 | @property (nonatomic, assign, getter=isAllFramesLoaded) BOOL allFramesLoaded; |
| ... | ... | @@ -156,7 +159,10 @@ static CGFloat SDImageScaleFromPath(NSString *string) { |
| 156 | 159 | self = [super initWithCGImage:image.CGImage scale:MAX(scale, 1) orientation:image.imageOrientation]; |
| 157 | 160 | #endif |
| 158 | 161 | if (self) { |
| 159 | - _coder = animatedCoder; | |
| 162 | + // Only keep the animated coder if frame count > 1, save RAM usage for non-animated image format (APNG/WebP) | |
| 163 | + if (animatedCoder.animatedImageFrameCount > 1) { | |
| 164 | + _animatedCoder = animatedCoder; | |
| 165 | + } | |
| 160 | 166 | NSData *data = [animatedCoder animatedImageData]; |
| 161 | 167 | SDImageFormat format = [NSData sd_imageFormatForImageData:data]; |
| 162 | 168 | _animatedImageFormat = format; |
| ... | ... | @@ -166,6 +172,9 @@ static CGFloat SDImageScaleFromPath(NSString *string) { |
| 166 | 172 | |
| 167 | 173 | #pragma mark - Preload |
| 168 | 174 | - (void)preloadAllFrames { |
| 175 | + if (!_animatedCoder) { | |
| 176 | + return; | |
| 177 | + } | |
| 169 | 178 | if (!self.isAllFramesLoaded) { |
| 170 | 179 | NSMutableArray<SDImageFrame *> *frames = [NSMutableArray arrayWithCapacity:self.animatedImageFrameCount]; |
| 171 | 180 | for (size_t i = 0; i < self.animatedImageFrameCount; i++) { |
| ... | ... | @@ -180,6 +189,9 @@ static CGFloat SDImageScaleFromPath(NSString *string) { |
| 180 | 189 | } |
| 181 | 190 | |
| 182 | 191 | - (void)unloadAllFrames { |
| 192 | + if (!_animatedCoder) { | |
| 193 | + return; | |
| 194 | + } | |
| 183 | 195 | if (self.isAllFramesLoaded) { |
| 184 | 196 | self.loadedAnimatedImageFrames = nil; |
| 185 | 197 | self.allFramesLoaded = NO; |
| ... | ... | @@ -190,11 +202,12 @@ static CGFloat SDImageScaleFromPath(NSString *string) { |
| 190 | 202 | - (instancetype)initWithCoder:(NSCoder *)aDecoder { |
| 191 | 203 | self = [super initWithCoder:aDecoder]; |
| 192 | 204 | if (self) { |
| 205 | + _animatedImageFormat = [aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(animatedImageFormat))]; | |
| 193 | 206 | NSData *animatedImageData = [aDecoder decodeObjectOfClass:[NSData class] forKey:NSStringFromSelector(@selector(animatedImageData))]; |
| 194 | - CGFloat scale = self.scale; | |
| 195 | 207 | if (!animatedImageData) { |
| 196 | 208 | return self; |
| 197 | 209 | } |
| 210 | + CGFloat scale = self.scale; | |
| 198 | 211 | id<SDAnimatedImageCoder> animatedCoder = nil; |
| 199 | 212 | for (id<SDImageCoder>coder in [SDImageCodersManager sharedManager].coders) { |
| 200 | 213 | if ([coder conformsToProtocol:@protocol(SDAnimatedImageCoder)]) { |
| ... | ... | @@ -207,15 +220,16 @@ static CGFloat SDImageScaleFromPath(NSString *string) { |
| 207 | 220 | if (!animatedCoder) { |
| 208 | 221 | return self; |
| 209 | 222 | } |
| 210 | - _coder = animatedCoder; | |
| 211 | - SDImageFormat format = [NSData sd_imageFormatForImageData:animatedImageData]; | |
| 212 | - _animatedImageFormat = format; | |
| 223 | + if (animatedCoder.animatedImageFrameCount > 1) { | |
| 224 | + _animatedCoder = animatedCoder; | |
| 225 | + } | |
| 213 | 226 | } |
| 214 | 227 | return self; |
| 215 | 228 | } |
| 216 | 229 | |
| 217 | 230 | - (void)encodeWithCoder:(NSCoder *)aCoder { |
| 218 | 231 | [super encodeWithCoder:aCoder]; |
| 232 | + [aCoder encodeInteger:self.animatedImageFormat forKey:NSStringFromSelector(@selector(animatedImageFormat))]; | |
| 219 | 233 | NSData *animatedImageData = self.animatedImageData; |
| 220 | 234 | if (animatedImageData) { |
| 221 | 235 | [aCoder encodeObject:animatedImageData forKey:NSStringFromSelector(@selector(animatedImageData))]; |
| ... | ... | @@ -226,18 +240,18 @@ static CGFloat SDImageScaleFromPath(NSString *string) { |
| 226 | 240 | return YES; |
| 227 | 241 | } |
| 228 | 242 | |
| 229 | -#pragma mark - SDAnimatedImage | |
| 243 | +#pragma mark - SDAnimatedImageProvider | |
| 230 | 244 | |
| 231 | 245 | - (NSData *)animatedImageData { |
| 232 | - return [self.coder animatedImageData]; | |
| 246 | + return [self.animatedCoder animatedImageData]; | |
| 233 | 247 | } |
| 234 | 248 | |
| 235 | 249 | - (NSUInteger)animatedImageLoopCount { |
| 236 | - return [self.coder animatedImageLoopCount]; | |
| 250 | + return [self.animatedCoder animatedImageLoopCount]; | |
| 237 | 251 | } |
| 238 | 252 | |
| 239 | 253 | - (NSUInteger)animatedImageFrameCount { |
| 240 | - return [self.coder animatedImageFrameCount]; | |
| 254 | + return [self.animatedCoder animatedImageFrameCount]; | |
| 241 | 255 | } |
| 242 | 256 | |
| 243 | 257 | - (UIImage *)animatedImageFrameAtIndex:(NSUInteger)index { |
| ... | ... | @@ -248,7 +262,7 @@ static CGFloat SDImageScaleFromPath(NSString *string) { |
| 248 | 262 | SDImageFrame *frame = [self.loadedAnimatedImageFrames objectAtIndex:index]; |
| 249 | 263 | return frame.image; |
| 250 | 264 | } |
| 251 | - return [self.coder animatedImageFrameAtIndex:index]; | |
| 265 | + return [self.animatedCoder animatedImageFrameAtIndex:index]; | |
| 252 | 266 | } |
| 253 | 267 | |
| 254 | 268 | - (NSTimeInterval)animatedImageDurationAtIndex:(NSUInteger)index { |
| ... | ... | @@ -259,7 +273,7 @@ static CGFloat SDImageScaleFromPath(NSString *string) { |
| 259 | 273 | SDImageFrame *frame = [self.loadedAnimatedImageFrames objectAtIndex:index]; |
| 260 | 274 | return frame.duration; |
| 261 | 275 | } |
| 262 | - return [self.coder animatedImageDurationAtIndex:index]; | |
| 276 | + return [self.animatedCoder animatedImageDurationAtIndex:index]; | |
| 263 | 277 | } |
| 264 | 278 | |
| 265 | 279 | @end |
| ... | ... | @@ -287,3 +301,90 @@ static CGFloat SDImageScaleFromPath(NSString *string) { |
| 287 | 301 | } |
| 288 | 302 | |
| 289 | 303 | @end |
| 304 | + | |
| 305 | +@implementation SDAnimatedImage (Metadata) | |
| 306 | + | |
| 307 | +- (BOOL)sd_isAnimated { | |
| 308 | + return YES; | |
| 309 | +} | |
| 310 | + | |
| 311 | +- (NSUInteger)sd_imageLoopCount { | |
| 312 | + return self.animatedImageLoopCount; | |
| 313 | +} | |
| 314 | + | |
| 315 | +- (void)setSd_imageLoopCount:(NSUInteger)sd_imageLoopCount { | |
| 316 | + return; | |
| 317 | +} | |
| 318 | + | |
| 319 | +- (SDImageFormat)sd_imageFormat { | |
| 320 | + return self.animatedImageFormat; | |
| 321 | +} | |
| 322 | + | |
| 323 | +- (void)setSd_imageFormat:(SDImageFormat)sd_imageFormat { | |
| 324 | + return; | |
| 325 | +} | |
| 326 | + | |
| 327 | +- (BOOL)sd_isVector { | |
| 328 | + return NO; | |
| 329 | +} | |
| 330 | + | |
| 331 | +@end | |
| 332 | + | |
| 333 | +@implementation SDAnimatedImage (MultiFormat) | |
| 334 | + | |
| 335 | ++ (nullable UIImage *)sd_imageWithData:(nullable NSData *)data { | |
| 336 | + return [self sd_imageWithData:data scale:1]; | |
| 337 | +} | |
| 338 | + | |
| 339 | ++ (nullable UIImage *)sd_imageWithData:(nullable NSData *)data scale:(CGFloat)scale { | |
| 340 | + return [self sd_imageWithData:data scale:scale firstFrameOnly:NO]; | |
| 341 | +} | |
| 342 | + | |
| 343 | ++ (nullable UIImage *)sd_imageWithData:(nullable NSData *)data scale:(CGFloat)scale firstFrameOnly:(BOOL)firstFrameOnly { | |
| 344 | + if (!data) { | |
| 345 | + return nil; | |
| 346 | + } | |
| 347 | + return [[self alloc] initWithData:data scale:scale options:@{SDImageCoderDecodeFirstFrameOnly : @(firstFrameOnly)}]; | |
| 348 | +} | |
| 349 | + | |
| 350 | +- (nullable NSData *)sd_imageData { | |
| 351 | + NSData *imageData = self.animatedImageData; | |
| 352 | + if (imageData) { | |
| 353 | + return imageData; | |
| 354 | + } else { | |
| 355 | + return [self sd_imageDataAsFormat:self.animatedImageFormat]; | |
| 356 | + } | |
| 357 | +} | |
| 358 | + | |
| 359 | +- (nullable NSData *)sd_imageDataAsFormat:(SDImageFormat)imageFormat { | |
| 360 | + return [self sd_imageDataAsFormat:imageFormat compressionQuality:1]; | |
| 361 | +} | |
| 362 | + | |
| 363 | +- (nullable NSData *)sd_imageDataAsFormat:(SDImageFormat)imageFormat compressionQuality:(double)compressionQuality { | |
| 364 | + return [self sd_imageDataAsFormat:imageFormat compressionQuality:compressionQuality firstFrameOnly:NO]; | |
| 365 | +} | |
| 366 | + | |
| 367 | +- (nullable NSData *)sd_imageDataAsFormat:(SDImageFormat)imageFormat compressionQuality:(double)compressionQuality firstFrameOnly:(BOOL)firstFrameOnly { | |
| 368 | + if (firstFrameOnly) { | |
| 369 | + // First frame, use super implementation | |
| 370 | + return [super sd_imageDataAsFormat:imageFormat compressionQuality:compressionQuality firstFrameOnly:firstFrameOnly]; | |
| 371 | + } | |
| 372 | + NSUInteger frameCount = self.animatedImageFrameCount; | |
| 373 | + if (frameCount <= 1) { | |
| 374 | + // Static image, use super implementation | |
| 375 | + return [super sd_imageDataAsFormat:imageFormat compressionQuality:compressionQuality firstFrameOnly:firstFrameOnly]; | |
| 376 | + } | |
| 377 | + // Keep animated image encoding, loop each frame. | |
| 378 | + NSMutableArray<SDImageFrame *> *frames = [NSMutableArray arrayWithCapacity:frameCount]; | |
| 379 | + for (size_t i = 0; i < frameCount; i++) { | |
| 380 | + UIImage *image = [self animatedImageFrameAtIndex:i]; | |
| 381 | + NSTimeInterval duration = [self animatedImageDurationAtIndex:i]; | |
| 382 | + SDImageFrame *frame = [SDImageFrame frameWithImage:image duration:duration]; | |
| 383 | + [frames addObject:frame]; | |
| 384 | + } | |
| 385 | + UIImage *animatedImage = [SDImageCoderHelper animatedImageWithFrames:frames]; | |
| 386 | + NSData *imageData = [animatedImage sd_imageDataAsFormat:imageFormat compressionQuality:compressionQuality firstFrameOnly:firstFrameOnly]; | |
| 387 | + return imageData; | |
| 388 | +} | |
| 389 | + | |
| 390 | +@end | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageRep.m
| ... | ... | @@ -27,13 +27,13 @@ |
| 27 | 27 | } |
| 28 | 28 | } |
| 29 | 29 | |
| 30 | -// `NSBitmapImageRep`'s `imageRepWithData:` is not designed initlizer | |
| 30 | +// `NSBitmapImageRep`'s `imageRepWithData:` is not designed initializer | |
| 31 | 31 | + (instancetype)imageRepWithData:(NSData *)data { |
| 32 | 32 | SDAnimatedImageRep *imageRep = [[SDAnimatedImageRep alloc] initWithData:data]; |
| 33 | 33 | return imageRep; |
| 34 | 34 | } |
| 35 | 35 | |
| 36 | -// We should override init method for `NSBitmapImageRep` to do initlize about animated image format | |
| 36 | +// We should override init method for `NSBitmapImageRep` to do initialize about animated image format | |
| 37 | 37 | - (instancetype)initWithData:(NSData *)data { |
| 38 | 38 | self = [super initWithData:data]; |
| 39 | 39 | if (self) { |
| ... | ... | @@ -58,14 +58,14 @@ |
| 58 | 58 | [self setProperty:NSImageLoopCount withValue:@(loopCount)]; |
| 59 | 59 | } else if (CFStringCompare(type, kUTTypePNG, 0) == kCFCompareEqualTo) { |
| 60 | 60 | // APNG |
| 61 | - // Do initilize about frame count, current frame/duration and loop count | |
| 61 | + // Do initialize about frame count, current frame/duration and loop count | |
| 62 | 62 | [self setProperty:NSImageFrameCount withValue:@(frameCount)]; |
| 63 | 63 | [self setProperty:NSImageCurrentFrame withValue:@(0)]; |
| 64 | 64 | NSUInteger loopCount = [SDImageAPNGCoder imageLoopCountWithSource:imageSource]; |
| 65 | 65 | [self setProperty:NSImageLoopCount withValue:@(loopCount)]; |
| 66 | 66 | } else if (CFStringCompare(type, kSDUTTypeHEICS, 0) == kCFCompareEqualTo) { |
| 67 | 67 | // HEIC |
| 68 | - // Do initilize about frame count, current frame/duration and loop count | |
| 68 | + // Do initialize about frame count, current frame/duration and loop count | |
| 69 | 69 | [self setProperty:NSImageFrameCount withValue:@(frameCount)]; |
| 70 | 70 | [self setProperty:NSImageCurrentFrame withValue:@(0)]; |
| 71 | 71 | NSUInteger loopCount = [SDImageHEICCoder imageLoopCountWithSource:imageSource]; | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView.h
| ... | ... | @@ -21,7 +21,7 @@ |
| 21 | 21 | @interface SDAnimatedImageView : UIImageView |
| 22 | 22 | |
| 23 | 23 | /** |
| 24 | - Current display frame image. | |
| 24 | + Current display frame image. This value is KVO Compliance. | |
| 25 | 25 | */ |
| 26 | 26 | @property (nonatomic, strong, readonly, nullable) UIImage *currentFrame; |
| 27 | 27 | /** |
| ... | ... | @@ -44,6 +44,15 @@ |
| 44 | 44 | */ |
| 45 | 45 | @property (nonatomic, assign) NSInteger animationRepeatCount; |
| 46 | 46 | /** |
| 47 | + The animation playback rate. Default is 1.0. | |
| 48 | + `1.0` means the normal speed. | |
| 49 | + `0.0` means stopping the animation. | |
| 50 | + `0.0-1.0` means the slow speed. | |
| 51 | + `> 1.0` means the fast speed. | |
| 52 | + `< 0.0` is not supported currently and stop animation. (may support reverse playback in the future) | |
| 53 | + */ | |
| 54 | +@property (nonatomic, assign) double playbackRate; | |
| 55 | +/** | |
| 47 | 56 | Provide a max buffer size by bytes. This is used to adjust frame buffer count and can be useful when the decoding cost is expensive (such as Animated WebP software decoding). Default is 0. |
| 48 | 57 | `0` means automatically adjust by calculating current memory usage. |
| 49 | 58 | `1` means without any buffer cache, each of frames will be decoded and then be freed after rendering. (Lowest Memory and Highest CPU) |
| ... | ... | @@ -72,13 +81,19 @@ |
| 72 | 81 | */ |
| 73 | 82 | @property (nonatomic, assign) BOOL resetFrameIndexWhenStopped; |
| 74 | 83 | |
| 75 | -#if SD_UIKIT | |
| 84 | +/** | |
| 85 | + If the image has more than one frame, set this value to `YES` will automatically | |
| 86 | + play/stop the animation when the view become visible/invisible. | |
| 87 | + Default is YES. | |
| 88 | + */ | |
| 89 | +@property (nonatomic, assign) BOOL autoPlayAnimatedImage; | |
| 90 | + | |
| 76 | 91 | /** |
| 77 | 92 | You can specify a runloop mode to let it rendering. |
| 78 | - Default is NSRunLoopCommonModes on multi-core iOS device, NSDefaultRunLoopMode on single-core iOS device | |
| 93 | + Default is NSRunLoopCommonModes on multi-core device, NSDefaultRunLoopMode on single-core device | |
| 94 | + @note This is useful for some cases, for example, always specify NSDefaultRunLoopMode, if you want to pause the animation when user scroll (for Mac user, drag the mouse or touchpad) | |
| 79 | 95 | */ |
| 80 | 96 | @property (nonatomic, copy, nonnull) NSRunLoopMode runLoopMode; |
| 81 | -#endif | |
| 82 | 97 | @end |
| 83 | 98 | |
| 84 | 99 | #endif | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageView.m
| ... | ... | @@ -10,61 +10,28 @@ |
| 10 | 10 | |
| 11 | 11 | #if SD_UIKIT || SD_MAC |
| 12 | 12 | |
| 13 | +#import "SDAnimatedImagePlayer.h" | |
| 13 | 14 | #import "UIImage+Metadata.h" |
| 14 | 15 | #import "NSImage+Compatibility.h" |
| 15 | -#import "SDWeakProxy.h" | |
| 16 | 16 | #import "SDInternalMacros.h" |
| 17 | -#import <mach/mach.h> | |
| 18 | -#import <objc/runtime.h> | |
| 17 | +#import "objc/runtime.h" | |
| 19 | 18 | |
| 20 | -#if SD_MAC | |
| 21 | -#import <CoreVideo/CoreVideo.h> | |
| 22 | -static CVReturn DisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTimeStamp *inNow, const CVTimeStamp *inOutputTime, CVOptionFlags flagsIn, CVOptionFlags *flagsOut, void *displayLinkContext); | |
| 23 | -#endif | |
| 24 | - | |
| 25 | -static NSUInteger SDDeviceTotalMemory() { | |
| 26 | - return (NSUInteger)[[NSProcessInfo processInfo] physicalMemory]; | |
| 27 | -} | |
| 28 | - | |
| 29 | -static NSUInteger SDDeviceFreeMemory() { | |
| 30 | - mach_port_t host_port = mach_host_self(); | |
| 31 | - mach_msg_type_number_t host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t); | |
| 32 | - vm_size_t page_size; | |
| 33 | - vm_statistics_data_t vm_stat; | |
| 34 | - kern_return_t kern; | |
| 35 | - | |
| 36 | - kern = host_page_size(host_port, &page_size); | |
| 37 | - if (kern != KERN_SUCCESS) return 0; | |
| 38 | - kern = host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size); | |
| 39 | - if (kern != KERN_SUCCESS) return 0; | |
| 40 | - return vm_stat.free_count * page_size; | |
| 41 | -} | |
| 19 | +@interface UIImageView () <CALayerDelegate> | |
| 20 | +@end | |
| 42 | 21 | |
| 43 | -@interface SDAnimatedImageView () <CALayerDelegate> { | |
| 44 | - NSRunLoopMode _runLoopMode; | |
| 22 | +@interface SDAnimatedImageView () { | |
| 45 | 23 | BOOL _initFinished; // Extra flag to mark the `commonInit` is called |
| 24 | + NSRunLoopMode _runLoopMode; | |
| 25 | + NSUInteger _maxBufferSize; | |
| 26 | + double _playbackRate; | |
| 46 | 27 | } |
| 47 | 28 | |
| 48 | 29 | @property (nonatomic, strong, readwrite) UIImage *currentFrame; |
| 49 | 30 | @property (nonatomic, assign, readwrite) NSUInteger currentFrameIndex; |
| 50 | 31 | @property (nonatomic, assign, readwrite) NSUInteger currentLoopCount; |
| 51 | -@property (nonatomic, assign) NSUInteger totalFrameCount; | |
| 52 | -@property (nonatomic, assign) NSUInteger totalLoopCount; | |
| 53 | -@property (nonatomic, strong) UIImage<SDAnimatedImage> *animatedImage; | |
| 54 | -@property (nonatomic, strong) NSMutableDictionary<NSNumber *, UIImage *> *frameBuffer; | |
| 55 | -@property (nonatomic, assign) NSTimeInterval currentTime; | |
| 56 | -@property (nonatomic, assign) BOOL bufferMiss; | |
| 57 | 32 | @property (nonatomic, assign) BOOL shouldAnimate; |
| 58 | 33 | @property (nonatomic, assign) BOOL isProgressive; |
| 59 | -@property (nonatomic, assign) NSUInteger maxBufferCount; | |
| 60 | -@property (nonatomic, strong) NSOperationQueue *fetchQueue; | |
| 61 | -@property (nonatomic, strong) dispatch_semaphore_t lock; | |
| 62 | -@property (nonatomic, assign) CGFloat animatedImageScale; | |
| 63 | -#if SD_MAC | |
| 64 | -@property (nonatomic, assign) CVDisplayLinkRef displayLink; | |
| 65 | -#else | |
| 66 | -@property (nonatomic, strong) CADisplayLink *displayLink; | |
| 67 | -#endif | |
| 34 | +@property (nonatomic,strong) SDAnimatedImagePlayer *player; // The animation player. | |
| 68 | 35 | @property (nonatomic) CALayer *imageViewLayer; // The actual rendering layer. |
| 69 | 36 | |
| 70 | 37 | @end |
| ... | ... | @@ -129,63 +96,17 @@ static NSUInteger SDDeviceFreeMemory() { |
| 129 | 96 | { |
| 130 | 97 | // Pay attention that UIKit's `initWithImage:` will trigger a `setImage:` during initialization before this `commonInit`. |
| 131 | 98 | // So the properties which rely on this order, should using lazy-evaluation or do extra check in `setImage:`. |
| 99 | + self.autoPlayAnimatedImage = YES; | |
| 132 | 100 | self.shouldCustomLoopCount = NO; |
| 133 | 101 | self.shouldIncrementalLoad = YES; |
| 102 | + self.playbackRate = 1.0; | |
| 134 | 103 | #if SD_MAC |
| 135 | 104 | self.wantsLayer = YES; |
| 136 | 105 | #endif |
| 137 | -#if SD_UIKIT | |
| 138 | - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didReceiveMemoryWarning:) name:UIApplicationDidReceiveMemoryWarningNotification object:nil]; | |
| 139 | -#endif | |
| 140 | 106 | // Mark commonInit finished |
| 141 | 107 | _initFinished = YES; |
| 142 | 108 | } |
| 143 | 109 | |
| 144 | -- (void)resetAnimatedImage | |
| 145 | -{ | |
| 146 | - self.animatedImage = nil; | |
| 147 | - self.totalFrameCount = 0; | |
| 148 | - self.totalLoopCount = 0; | |
| 149 | - // reset current state | |
| 150 | - [self resetCurrentFrameIndex]; | |
| 151 | - self.shouldAnimate = NO; | |
| 152 | - self.isProgressive = NO; | |
| 153 | - self.maxBufferCount = 0; | |
| 154 | - self.animatedImageScale = 1; | |
| 155 | - [_fetchQueue cancelAllOperations]; | |
| 156 | - // clear buffer cache | |
| 157 | - [self clearFrameBuffer]; | |
| 158 | -} | |
| 159 | - | |
| 160 | -- (void)resetProgressiveImage | |
| 161 | -{ | |
| 162 | - self.animatedImage = nil; | |
| 163 | - self.totalFrameCount = 0; | |
| 164 | - self.totalLoopCount = 0; | |
| 165 | - // preserve current state | |
| 166 | - self.shouldAnimate = NO; | |
| 167 | - self.isProgressive = YES; | |
| 168 | - self.maxBufferCount = 0; | |
| 169 | - self.animatedImageScale = 1; | |
| 170 | - // preserve buffer cache | |
| 171 | -} | |
| 172 | - | |
| 173 | -- (void)resetCurrentFrameIndex | |
| 174 | -{ | |
| 175 | - self.currentFrame = nil; | |
| 176 | - self.currentFrameIndex = 0; | |
| 177 | - self.currentLoopCount = 0; | |
| 178 | - self.currentTime = 0; | |
| 179 | - self.bufferMiss = NO; | |
| 180 | -} | |
| 181 | - | |
| 182 | -- (void)clearFrameBuffer | |
| 183 | -{ | |
| 184 | - SD_LOCK(self.lock); | |
| 185 | - [_frameBuffer removeAllObjects]; | |
| 186 | - SD_UNLOCK(self.lock); | |
| 187 | -} | |
| 188 | - | |
| 189 | 110 | #pragma mark - Accessors |
| 190 | 111 | #pragma mark Public |
| 191 | 112 | |
| ... | ... | @@ -198,71 +119,87 @@ static NSUInteger SDDeviceFreeMemory() { |
| 198 | 119 | // Check Progressive rendering |
| 199 | 120 | [self updateIsProgressiveWithImage:image]; |
| 200 | 121 | |
| 201 | - if (self.isProgressive) { | |
| 202 | - // Reset all value, but keep current state | |
| 203 | - [self resetProgressiveImage]; | |
| 204 | - } else { | |
| 122 | + if (!self.isProgressive) { | |
| 205 | 123 | // Stop animating |
| 206 | - [self stopAnimating]; | |
| 207 | - // Reset all value | |
| 208 | - [self resetAnimatedImage]; | |
| 124 | + self.player = nil; | |
| 125 | + self.currentFrame = nil; | |
| 126 | + self.currentFrameIndex = 0; | |
| 127 | + self.currentLoopCount = 0; | |
| 209 | 128 | } |
| 210 | 129 | |
| 211 | 130 | // We need call super method to keep function. This will impliedly call `setNeedsDisplay`. But we have no way to avoid this when using animated image. So we call `setNeedsDisplay` again at the end. |
| 212 | 131 | super.image = image; |
| 213 | 132 | if ([image.class conformsToProtocol:@protocol(SDAnimatedImage)]) { |
| 214 | - NSUInteger animatedImageFrameCount = ((UIImage<SDAnimatedImage> *)image).animatedImageFrameCount; | |
| 215 | - // Check the frame count | |
| 216 | - if (animatedImageFrameCount <= 1) { | |
| 217 | - return; | |
| 133 | + if (!self.player) { | |
| 134 | + id<SDAnimatedImageProvider> provider; | |
| 135 | + // Check progressive loading | |
| 136 | + if (self.isProgressive) { | |
| 137 | + provider = [self progressiveAnimatedCoderForImage:image]; | |
| 138 | + } else { | |
| 139 | + provider = (id<SDAnimatedImage>)image; | |
| 140 | + } | |
| 141 | + // Create animated player | |
| 142 | + self.player = [SDAnimatedImagePlayer playerWithProvider:provider]; | |
| 143 | + } else { | |
| 144 | + // Update Frame Count | |
| 145 | + self.player.totalFrameCount = [(id<SDAnimatedImage>)image animatedImageFrameCount]; | |
| 218 | 146 | } |
| 219 | - // If progressive rendering is disabled but animated image is incremental. Only show poster image | |
| 220 | - if (!self.isProgressive && image.sd_isIncremental) { | |
| 147 | + | |
| 148 | + if (!self.player) { | |
| 149 | + // animated player nil means the image format is not supported, or frame count <= 1 | |
| 221 | 150 | return; |
| 222 | 151 | } |
| 223 | - self.animatedImage = (UIImage<SDAnimatedImage> *)image; | |
| 224 | - self.totalFrameCount = animatedImageFrameCount; | |
| 225 | - // Get the current frame and loop count. | |
| 226 | - self.totalLoopCount = self.animatedImage.animatedImageLoopCount; | |
| 227 | - // Get the scale | |
| 228 | - self.animatedImageScale = image.scale; | |
| 229 | - if (!self.isProgressive) { | |
| 230 | - self.currentFrame = image; | |
| 231 | - SD_LOCK(self.lock); | |
| 232 | - self.frameBuffer[@(self.currentFrameIndex)] = self.currentFrame; | |
| 233 | - SD_UNLOCK(self.lock); | |
| 152 | + | |
| 153 | + // Custom Loop Count | |
| 154 | + if (self.shouldCustomLoopCount) { | |
| 155 | + self.player.totalLoopCount = self.animationRepeatCount; | |
| 234 | 156 | } |
| 235 | 157 | |
| 158 | + // RunLoop Mode | |
| 159 | + self.player.runLoopMode = self.runLoopMode; | |
| 160 | + | |
| 161 | + // Max Buffer Size | |
| 162 | + self.player.maxBufferSize = self.maxBufferSize; | |
| 163 | + | |
| 164 | + // Play Rate | |
| 165 | + self.player.playbackRate = self.playbackRate; | |
| 166 | + | |
| 167 | + // Setup handler | |
| 168 | + @weakify(self); | |
| 169 | + self.player.animationFrameHandler = ^(NSUInteger index, UIImage * frame) { | |
| 170 | + @strongify(self); | |
| 171 | + self.currentFrameIndex = index; | |
| 172 | + self.currentFrame = frame; | |
| 173 | + [self.imageViewLayer setNeedsDisplay]; | |
| 174 | + }; | |
| 175 | + self.player.animationLoopHandler = ^(NSUInteger loopCount) { | |
| 176 | + @strongify(self); | |
| 177 | + // Progressive image reach the current last frame index. Keep the state and pause animating. Wait for later restart | |
| 178 | + if (self.isProgressive) { | |
| 179 | + NSUInteger lastFrameIndex = self.player.totalFrameCount - 1; | |
| 180 | + [self.player seekToFrameAtIndex:lastFrameIndex loopCount:0]; | |
| 181 | + [self.player pausePlaying]; | |
| 182 | + } else { | |
| 183 | + self.currentLoopCount = loopCount; | |
| 184 | + } | |
| 185 | + }; | |
| 186 | + | |
| 236 | 187 | // Ensure disabled highlighting; it's not supported (see `-setHighlighted:`). |
| 237 | 188 | super.highlighted = NO; |
| 238 | 189 | |
| 239 | - // Calculate max buffer size | |
| 240 | - [self calculateMaxBufferCount]; | |
| 241 | - // Update should animate | |
| 242 | - [self updateShouldAnimate]; | |
| 243 | - if (self.shouldAnimate) { | |
| 244 | - [self startAnimating]; | |
| 245 | - } | |
| 190 | + [self stopAnimating]; | |
| 191 | + [self checkPlay]; | |
| 246 | 192 | |
| 247 | 193 | [self.imageViewLayer setNeedsDisplay]; |
| 248 | 194 | } |
| 249 | 195 | } |
| 250 | 196 | |
| 251 | -#if SD_UIKIT | |
| 197 | +#pragma mark - Configuration | |
| 198 | + | |
| 252 | 199 | - (void)setRunLoopMode:(NSRunLoopMode)runLoopMode |
| 253 | 200 | { |
| 254 | - if ([_runLoopMode isEqual:runLoopMode]) { | |
| 255 | - return; | |
| 256 | - } | |
| 257 | - if (_displayLink) { | |
| 258 | - if (_runLoopMode) { | |
| 259 | - [_displayLink removeFromRunLoop:[NSRunLoop mainRunLoop] forMode:_runLoopMode]; | |
| 260 | - } | |
| 261 | - if (runLoopMode.length > 0) { | |
| 262 | - [_displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:runLoopMode]; | |
| 263 | - } | |
| 264 | - } | |
| 265 | 201 | _runLoopMode = [runLoopMode copy]; |
| 202 | + self.player.runLoopMode = runLoopMode; | |
| 266 | 203 | } |
| 267 | 204 | |
| 268 | 205 | - (NSRunLoopMode)runLoopMode |
| ... | ... | @@ -272,99 +209,42 @@ static NSUInteger SDDeviceFreeMemory() { |
| 272 | 209 | } |
| 273 | 210 | return _runLoopMode; |
| 274 | 211 | } |
| 275 | -#endif | |
| 276 | 212 | |
| 277 | -- (BOOL)shouldIncrementalLoad { | |
| 278 | - if (!_initFinished) { | |
| 279 | - return YES; // Defaults to YES | |
| 280 | - } | |
| 281 | - return _initFinished; | |
| 282 | -} | |
| 283 | - | |
| 284 | -#pragma mark - Private | |
| 285 | -- (NSOperationQueue *)fetchQueue | |
| 286 | -{ | |
| 287 | - if (!_fetchQueue) { | |
| 288 | - _fetchQueue = [[NSOperationQueue alloc] init]; | |
| 289 | - _fetchQueue.maxConcurrentOperationCount = 1; | |
| 290 | - } | |
| 291 | - return _fetchQueue; | |
| 213 | ++ (NSString *)defaultRunLoopMode { | |
| 214 | + // Key off `activeProcessorCount` (as opposed to `processorCount`) since the system could shut down cores in certain situations. | |
| 215 | + return [NSProcessInfo processInfo].activeProcessorCount > 1 ? NSRunLoopCommonModes : NSDefaultRunLoopMode; | |
| 292 | 216 | } |
| 293 | 217 | |
| 294 | -- (NSMutableDictionary<NSNumber *,UIImage *> *)frameBuffer | |
| 218 | +- (void)setMaxBufferSize:(NSUInteger)maxBufferSize | |
| 295 | 219 | { |
| 296 | - if (!_frameBuffer) { | |
| 297 | - _frameBuffer = [NSMutableDictionary dictionary]; | |
| 298 | - } | |
| 299 | - return _frameBuffer; | |
| 220 | + _maxBufferSize = maxBufferSize; | |
| 221 | + self.player.maxBufferSize = maxBufferSize; | |
| 300 | 222 | } |
| 301 | 223 | |
| 302 | -- (dispatch_semaphore_t)lock { | |
| 303 | - if (!_lock) { | |
| 304 | - _lock = dispatch_semaphore_create(1); | |
| 305 | - } | |
| 306 | - return _lock; | |
| 224 | +- (NSUInteger)maxBufferSize { | |
| 225 | + return _maxBufferSize; // Defaults to 0 | |
| 307 | 226 | } |
| 308 | 227 | |
| 309 | -#if SD_MAC | |
| 310 | -- (CVDisplayLinkRef)displayLink | |
| 228 | +- (void)setPlaybackRate:(double)playbackRate | |
| 311 | 229 | { |
| 312 | - if (!_displayLink) { | |
| 313 | - CVReturn error = CVDisplayLinkCreateWithActiveCGDisplays(&_displayLink); | |
| 314 | - if (error) { | |
| 315 | - return NULL; | |
| 316 | - } | |
| 317 | - CVDisplayLinkSetOutputCallback(_displayLink, DisplayLinkCallback, (__bridge void *)self); | |
| 318 | - } | |
| 319 | - return _displayLink; | |
| 230 | + _playbackRate = playbackRate; | |
| 231 | + self.player.playbackRate = playbackRate; | |
| 320 | 232 | } |
| 321 | -#else | |
| 322 | -- (CADisplayLink *)displayLink | |
| 233 | + | |
| 234 | +- (double)playbackRate | |
| 323 | 235 | { |
| 324 | - if (!_displayLink) { | |
| 325 | - // It is important to note the use of a weak proxy here to avoid a retain cycle. `-displayLinkWithTarget:selector:` | |
| 326 | - // will retain its target until it is invalidated. We use a weak proxy so that the image view will get deallocated | |
| 327 | - // independent of the display link's lifetime. Upon image view deallocation, we invalidate the display | |
| 328 | - // link which will lead to the deallocation of both the display link and the weak proxy. | |
| 329 | - SDWeakProxy *weakProxy = [SDWeakProxy proxyWithTarget:self]; | |
| 330 | - _displayLink = [CADisplayLink displayLinkWithTarget:weakProxy selector:@selector(displayDidRefresh:)]; | |
| 331 | - [_displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:self.runLoopMode]; | |
| 236 | + if (!_initFinished) { | |
| 237 | + return 1.0; // Defaults to 1.0 | |
| 332 | 238 | } |
| 333 | - return _displayLink; | |
| 239 | + return _playbackRate; | |
| 334 | 240 | } |
| 335 | -#endif | |
| 336 | - | |
| 337 | -#pragma mark - Life Cycle | |
| 338 | 241 | |
| 339 | -- (void)dealloc | |
| 242 | +- (BOOL)shouldIncrementalLoad | |
| 340 | 243 | { |
| 341 | - // Removes the display link from all run loop modes. | |
| 342 | -#if SD_MAC | |
| 343 | - if (_displayLink) { | |
| 344 | - CVDisplayLinkRelease(_displayLink); | |
| 345 | - _displayLink = NULL; | |
| 244 | + if (!_initFinished) { | |
| 245 | + return YES; // Defaults to YES | |
| 346 | 246 | } |
| 347 | -#else | |
| 348 | - [_displayLink invalidate]; | |
| 349 | - _displayLink = nil; | |
| 350 | - [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidReceiveMemoryWarningNotification object:nil]; | |
| 351 | -#endif | |
| 352 | -} | |
| 353 | - | |
| 354 | -- (void)didReceiveMemoryWarning:(NSNotification *)notification { | |
| 355 | - [_fetchQueue cancelAllOperations]; | |
| 356 | - [_fetchQueue addOperationWithBlock:^{ | |
| 357 | - NSNumber *currentFrameIndex = @(self.currentFrameIndex); | |
| 358 | - SD_LOCK(self.lock); | |
| 359 | - NSArray *keys = self.frameBuffer.allKeys; | |
| 360 | - // only keep the next frame for later rendering | |
| 361 | - for (NSNumber * key in keys) { | |
| 362 | - if (![key isEqualToNumber:currentFrameIndex]) { | |
| 363 | - [self.frameBuffer removeObjectForKey:key]; | |
| 364 | - } | |
| 365 | - } | |
| 366 | - SD_UNLOCK(self.lock); | |
| 367 | - }]; | |
| 247 | + return _initFinished; | |
| 368 | 248 | } |
| 369 | 249 | |
| 370 | 250 | #pragma mark - UIView Method Overrides |
| ... | ... | @@ -382,12 +262,7 @@ static NSUInteger SDDeviceFreeMemory() { |
| 382 | 262 | [super didMoveToSuperview]; |
| 383 | 263 | #endif |
| 384 | 264 | |
| 385 | - [self updateShouldAnimate]; | |
| 386 | - if (self.shouldAnimate) { | |
| 387 | - [self startAnimating]; | |
| 388 | - } else { | |
| 389 | - [self stopAnimating]; | |
| 390 | - } | |
| 265 | + [self checkPlay]; | |
| 391 | 266 | } |
| 392 | 267 | |
| 393 | 268 | #if SD_MAC |
| ... | ... | @@ -402,12 +277,7 @@ static NSUInteger SDDeviceFreeMemory() { |
| 402 | 277 | [super didMoveToWindow]; |
| 403 | 278 | #endif |
| 404 | 279 | |
| 405 | - [self updateShouldAnimate]; | |
| 406 | - if (self.shouldAnimate) { | |
| 407 | - [self startAnimating]; | |
| 408 | - } else { | |
| 409 | - [self stopAnimating]; | |
| 410 | - } | |
| 280 | + [self checkPlay]; | |
| 411 | 281 | } |
| 412 | 282 | |
| 413 | 283 | #if SD_MAC |
| ... | ... | @@ -422,88 +292,91 @@ static NSUInteger SDDeviceFreeMemory() { |
| 422 | 292 | [super setAlpha:alpha]; |
| 423 | 293 | #endif |
| 424 | 294 | |
| 425 | - [self updateShouldAnimate]; | |
| 426 | - if (self.shouldAnimate) { | |
| 427 | - [self startAnimating]; | |
| 428 | - } else { | |
| 429 | - [self stopAnimating]; | |
| 430 | - } | |
| 295 | + [self checkPlay]; | |
| 431 | 296 | } |
| 432 | 297 | |
| 433 | 298 | - (void)setHidden:(BOOL)hidden |
| 434 | 299 | { |
| 435 | 300 | [super setHidden:hidden]; |
| 436 | 301 | |
| 437 | - [self updateShouldAnimate]; | |
| 438 | - if (self.shouldAnimate) { | |
| 439 | - [self startAnimating]; | |
| 440 | - } else { | |
| 441 | - [self stopAnimating]; | |
| 442 | - } | |
| 302 | + [self checkPlay]; | |
| 443 | 303 | } |
| 444 | 304 | |
| 445 | 305 | #pragma mark - UIImageView Method Overrides |
| 446 | 306 | #pragma mark Image Data |
| 447 | 307 | |
| 448 | -- (void)startAnimating | |
| 308 | +- (void)setAnimationRepeatCount:(NSInteger)animationRepeatCount | |
| 449 | 309 | { |
| 450 | - if (self.animatedImage) { | |
| 451 | -#if SD_MAC | |
| 452 | - CVDisplayLinkStart(self.displayLink); | |
| 310 | +#if SD_UIKIT | |
| 311 | + [super setAnimationRepeatCount:animationRepeatCount]; | |
| 453 | 312 | #else |
| 454 | - self.displayLink.paused = NO; | |
| 313 | + _animationRepeatCount = animationRepeatCount; | |
| 455 | 314 | #endif |
| 315 | + | |
| 316 | + if (self.shouldCustomLoopCount) { | |
| 317 | + self.player.totalLoopCount = animationRepeatCount; | |
| 318 | + } | |
| 319 | +} | |
| 320 | + | |
| 321 | +- (void)startAnimating | |
| 322 | +{ | |
| 323 | + if (self.player) { | |
| 324 | + [self updateShouldAnimate]; | |
| 325 | + if (self.shouldAnimate) { | |
| 326 | + [self.player startPlaying]; | |
| 327 | + } | |
| 456 | 328 | } else { |
| 457 | 329 | #if SD_UIKIT |
| 458 | 330 | [super startAnimating]; |
| 331 | +#else | |
| 332 | + [super setAnimates:YES]; | |
| 459 | 333 | #endif |
| 460 | 334 | } |
| 461 | 335 | } |
| 462 | 336 | |
| 463 | 337 | - (void)stopAnimating |
| 464 | 338 | { |
| 465 | - if (self.animatedImage) { | |
| 466 | - [_fetchQueue cancelAllOperations]; | |
| 467 | - // Using `_displayLink` here because when UIImageView dealloc, it may trigger `[self stopAnimating]`, we already release the display link in SDAnimatedImageView's dealloc method. | |
| 468 | -#if SD_MAC | |
| 469 | - CVDisplayLinkStop(_displayLink); | |
| 470 | -#else | |
| 471 | - _displayLink.paused = YES; | |
| 472 | -#endif | |
| 339 | + if (self.player) { | |
| 473 | 340 | if (self.resetFrameIndexWhenStopped) { |
| 474 | - [self resetCurrentFrameIndex]; | |
| 341 | + [self.player stopPlaying]; | |
| 342 | + } else { | |
| 343 | + [self.player pausePlaying]; | |
| 475 | 344 | } |
| 476 | 345 | if (self.clearBufferWhenStopped) { |
| 477 | - [self clearFrameBuffer]; | |
| 346 | + [self.player clearFrameBuffer]; | |
| 478 | 347 | } |
| 479 | 348 | } else { |
| 480 | 349 | #if SD_UIKIT |
| 481 | 350 | [super stopAnimating]; |
| 351 | +#else | |
| 352 | + [super setAnimates:NO]; | |
| 482 | 353 | #endif |
| 483 | 354 | } |
| 484 | 355 | } |
| 485 | 356 | |
| 357 | +#if SD_UIKIT | |
| 486 | 358 | - (BOOL)isAnimating |
| 487 | 359 | { |
| 488 | - BOOL isAnimating = NO; | |
| 489 | - if (self.animatedImage) { | |
| 490 | -#if SD_MAC | |
| 491 | - isAnimating = CVDisplayLinkIsRunning(self.displayLink); | |
| 492 | -#else | |
| 493 | - isAnimating = !self.displayLink.isPaused; | |
| 494 | -#endif | |
| 360 | + if (self.player) { | |
| 361 | + return self.player.isPlaying; | |
| 495 | 362 | } else { |
| 496 | -#if SD_UIKIT | |
| 497 | - isAnimating = [super isAnimating]; | |
| 498 | -#endif | |
| 363 | + return [super isAnimating]; | |
| 499 | 364 | } |
| 500 | - return isAnimating; | |
| 501 | 365 | } |
| 366 | +#endif | |
| 502 | 367 | |
| 503 | 368 | #if SD_MAC |
| 369 | +- (BOOL)animates | |
| 370 | +{ | |
| 371 | + if (self.player) { | |
| 372 | + return self.player.isPlaying; | |
| 373 | + } else { | |
| 374 | + return [super animates]; | |
| 375 | + } | |
| 376 | +} | |
| 377 | + | |
| 504 | 378 | - (void)setAnimates:(BOOL)animates |
| 505 | 379 | { |
| 506 | - [super setAnimates:animates]; | |
| 507 | 380 | if (animates) { |
| 508 | 381 | [self startAnimating]; |
| 509 | 382 | } else { |
| ... | ... | @@ -517,7 +390,7 @@ static NSUInteger SDDeviceFreeMemory() { |
| 517 | 390 | - (void)setHighlighted:(BOOL)highlighted |
| 518 | 391 | { |
| 519 | 392 | // Highlighted image is unsupported for animated images, but implementing it breaks the image view when embedded in a UICollectionViewCell. |
| 520 | - if (!self.animatedImage) { | |
| 393 | + if (!self.player) { | |
| 521 | 394 | [super setHighlighted:highlighted]; |
| 522 | 395 | } |
| 523 | 396 | } |
| ... | ... | @@ -526,6 +399,19 @@ static NSUInteger SDDeviceFreeMemory() { |
| 526 | 399 | #pragma mark - Private Methods |
| 527 | 400 | #pragma mark Animation |
| 528 | 401 | |
| 402 | +/// Check if it should be played | |
| 403 | +- (void)checkPlay | |
| 404 | +{ | |
| 405 | + if (self.autoPlayAnimatedImage) { | |
| 406 | + [self updateShouldAnimate]; | |
| 407 | + if (self.shouldAnimate) { | |
| 408 | + [self startAnimating]; | |
| 409 | + } else { | |
| 410 | + [self stopAnimating]; | |
| 411 | + } | |
| 412 | + } | |
| 413 | +} | |
| 414 | + | |
| 529 | 415 | // Don't repeatedly check our window & superview in `-displayDidRefresh:` for performance reasons. |
| 530 | 416 | // Just update our cached value whenever the animated image or visibility (window, superview, hidden, alpha) is changed. |
| 531 | 417 | - (void)updateShouldAnimate |
| ... | ... | @@ -535,7 +421,7 @@ static NSUInteger SDDeviceFreeMemory() { |
| 535 | 421 | #else |
| 536 | 422 | BOOL isVisible = self.window && self.superview && ![self isHidden] && self.alpha > 0.0; |
| 537 | 423 | #endif |
| 538 | - self.shouldAnimate = self.animatedImage && self.totalFrameCount > 1 && isVisible; | |
| 424 | + self.shouldAnimate = self.player && isVisible; | |
| 539 | 425 | } |
| 540 | 426 | |
| 541 | 427 | // Update progressive status only after `setImage:` call. |
| ... | ... | @@ -548,170 +434,32 @@ static NSUInteger SDDeviceFreeMemory() { |
| 548 | 434 | } |
| 549 | 435 | // We must use `image.class conformsToProtocol:` instead of `image conformsToProtocol:` here |
| 550 | 436 | // Because UIKit on macOS, using internal hard-coded override method, which returns NO |
| 551 | - if ([image.class conformsToProtocol:@protocol(SDAnimatedImage)] && image.sd_isIncremental) { | |
| 437 | + id<SDAnimatedImageCoder> currentAnimatedCoder = [self progressiveAnimatedCoderForImage:image]; | |
| 438 | + if (currentAnimatedCoder) { | |
| 552 | 439 | UIImage *previousImage = self.image; |
| 553 | - if ([previousImage.class conformsToProtocol:@protocol(SDAnimatedImage)] && previousImage.sd_isIncremental) { | |
| 554 | - NSData *previousData = [((UIImage<SDAnimatedImage> *)previousImage) animatedImageData]; | |
| 555 | - NSData *currentData = [((UIImage<SDAnimatedImage> *)image) animatedImageData]; | |
| 556 | - // Check whether to use progressive rendering or not | |
| 557 | - if (!previousData || !currentData) { | |
| 558 | - // Early return | |
| 559 | - return; | |
| 560 | - } | |
| 561 | - | |
| 562 | - // Warning: normally the `previousData` is same instance as `currentData` because our `SDAnimatedImage` class share the same `coder` instance internally. But there may be a race condition, that later retrived `currentData` is already been updated and it's not the same instance as `previousData`. | |
| 563 | - // And for protocol extensible design, we should not assume `SDAnimatedImage` protocol implementations always share same instance. So both of two reasons, we need that `rangeOfData` check. | |
| 564 | - if ([currentData isEqualToData:previousData]) { | |
| 565 | - // If current data is the same data (or instance) as previous data | |
| 440 | + if (!previousImage) { | |
| 441 | + // If current animated coder supports progressive, and no previous image to check, start progressive loading | |
| 442 | + self.isProgressive = YES; | |
| 443 | + } else { | |
| 444 | + id<SDAnimatedImageCoder> previousAnimatedCoder = [self progressiveAnimatedCoderForImage:previousImage]; | |
| 445 | + if (previousAnimatedCoder == currentAnimatedCoder) { | |
| 446 | + // If current animated coder is the same as previous, start progressive loading | |
| 566 | 447 | self.isProgressive = YES; |
| 567 | - } else if (currentData.length > previousData.length) { | |
| 568 | - // If current data is appended by previous data, use `NSDataSearchAnchored`, search is limited to start of currentData | |
| 569 | - NSRange range = [currentData rangeOfData:previousData options:NSDataSearchAnchored range:NSMakeRange(0, previousData.length)]; | |
| 570 | - if (range.location != NSNotFound) { | |
| 571 | - // Contains hole previous data and they start with the same beginning | |
| 572 | - self.isProgressive = YES; | |
| 573 | - } | |
| 574 | 448 | } |
| 575 | - } else { | |
| 576 | - // Previous image is not progressive, so start progressive rendering | |
| 577 | - self.isProgressive = YES; | |
| 578 | 449 | } |
| 579 | 450 | } |
| 580 | 451 | } |
| 581 | 452 | |
| 582 | -#if SD_MAC | |
| 583 | -- (void)displayDidRefresh:(CVDisplayLinkRef)displayLink duration:(NSTimeInterval)duration | |
| 584 | -#else | |
| 585 | -- (void)displayDidRefresh:(CADisplayLink *)displayLink | |
| 586 | -#endif | |
| 453 | +// Check if image can represent a `Progressive Animated Image` during loading | |
| 454 | +- (id<SDAnimatedImageCoder, SDProgressiveImageCoder>)progressiveAnimatedCoderForImage:(UIImage *)image | |
| 587 | 455 | { |
| 588 | - // If for some reason a wild call makes it through when we shouldn't be animating, bail. | |
| 589 | - // Early return! | |
| 590 | - if (!self.shouldAnimate) { | |
| 591 | - return; | |
| 592 | - } | |
| 593 | - // Calculate refresh duration | |
| 594 | -#if SD_UIKIT | |
| 595 | -#pragma clang diagnostic push | |
| 596 | -#pragma clang diagnostic ignored "-Wdeprecated-declarations" | |
| 597 | - NSTimeInterval duration = displayLink.duration * displayLink.frameInterval; | |
| 598 | -#pragma clang diagnostic pop | |
| 599 | -#endif | |
| 600 | - NSUInteger totalFrameCount = self.totalFrameCount; | |
| 601 | - NSUInteger currentFrameIndex = self.currentFrameIndex; | |
| 602 | - NSUInteger nextFrameIndex = (currentFrameIndex + 1) % totalFrameCount; | |
| 603 | - | |
| 604 | - // Check if we have the frame buffer firstly to improve performance | |
| 605 | - if (!self.bufferMiss) { | |
| 606 | - // Then check if timestamp is reached | |
| 607 | - self.currentTime += duration; | |
| 608 | - NSTimeInterval currentDuration = [self.animatedImage animatedImageDurationAtIndex:currentFrameIndex]; | |
| 609 | - if (self.currentTime < currentDuration) { | |
| 610 | - // Current frame timestamp not reached, return | |
| 611 | - return; | |
| 612 | - } | |
| 613 | - self.currentTime -= currentDuration; | |
| 614 | - NSTimeInterval nextDuration = [self.animatedImage animatedImageDurationAtIndex:nextFrameIndex]; | |
| 615 | - if (self.currentTime > nextDuration) { | |
| 616 | - // Do not skip frame | |
| 617 | - self.currentTime = nextDuration; | |
| 618 | - } | |
| 619 | - } | |
| 620 | - | |
| 621 | - // Update the current frame | |
| 622 | - UIImage *currentFrame; | |
| 623 | - UIImage *fetchFrame; | |
| 624 | - SD_LOCK(self.lock); | |
| 625 | - currentFrame = self.frameBuffer[@(currentFrameIndex)]; | |
| 626 | - fetchFrame = currentFrame ? self.frameBuffer[@(nextFrameIndex)] : nil; | |
| 627 | - SD_UNLOCK(self.lock); | |
| 628 | - BOOL bufferFull = NO; | |
| 629 | - if (currentFrame) { | |
| 630 | - SD_LOCK(self.lock); | |
| 631 | - // Remove the frame buffer if need | |
| 632 | - if (self.frameBuffer.count > self.maxBufferCount) { | |
| 633 | - self.frameBuffer[@(currentFrameIndex)] = nil; | |
| 634 | - } | |
| 635 | - // Check whether we can stop fetch | |
| 636 | - if (self.frameBuffer.count == totalFrameCount) { | |
| 637 | - bufferFull = YES; | |
| 638 | - } | |
| 639 | - SD_UNLOCK(self.lock); | |
| 640 | - self.currentFrame = currentFrame; | |
| 641 | - self.currentFrameIndex = nextFrameIndex; | |
| 642 | - self.bufferMiss = NO; | |
| 643 | - [self.imageViewLayer setNeedsDisplay]; | |
| 644 | - } else { | |
| 645 | - self.bufferMiss = YES; | |
| 646 | - } | |
| 647 | - | |
| 648 | - // Update the loop count when last frame rendered | |
| 649 | - if (nextFrameIndex == 0 && !self.bufferMiss) { | |
| 650 | - // Progressive image reach the current last frame index. Keep the state and stop animating. Wait for later restart | |
| 651 | - if (self.isProgressive) { | |
| 652 | - // Recovery the current frame index and removed frame buffer (See above) | |
| 653 | - self.currentFrameIndex = currentFrameIndex; | |
| 654 | - SD_LOCK(self.lock); | |
| 655 | - self.frameBuffer[@(currentFrameIndex)] = self.currentFrame; | |
| 656 | - SD_UNLOCK(self.lock); | |
| 657 | - [self stopAnimating]; | |
| 658 | - return; | |
| 659 | - } | |
| 660 | - // Update the loop count | |
| 661 | - self.currentLoopCount++; | |
| 662 | - // if reached the max loop count, stop animating, 0 means loop indefinitely | |
| 663 | - NSUInteger maxLoopCount = self.shouldCustomLoopCount ? self.animationRepeatCount : self.totalLoopCount; | |
| 664 | - if (maxLoopCount != 0 && (self.currentLoopCount >= maxLoopCount)) { | |
| 665 | - [self stopAnimating]; | |
| 666 | - return; | |
| 456 | + if ([image.class conformsToProtocol:@protocol(SDAnimatedImage)] && image.sd_isIncremental && [image respondsToSelector:@selector(animatedCoder)]) { | |
| 457 | + id<SDAnimatedImageCoder> animatedCoder = [(id<SDAnimatedImage>)image animatedCoder]; | |
| 458 | + if ([animatedCoder conformsToProtocol:@protocol(SDProgressiveImageCoder)]) { | |
| 459 | + return (id<SDAnimatedImageCoder, SDProgressiveImageCoder>)animatedCoder; | |
| 667 | 460 | } |
| 668 | 461 | } |
| 669 | - | |
| 670 | - // Check if we should prefetch next frame or current frame | |
| 671 | - NSUInteger fetchFrameIndex; | |
| 672 | - if (self.bufferMiss) { | |
| 673 | - // When buffer miss, means the decode speed is slower than render speed, we fetch current miss frame | |
| 674 | - fetchFrameIndex = currentFrameIndex; | |
| 675 | - } else { | |
| 676 | - // Or, most cases, the decode speed is faster than render speed, we fetch next frame | |
| 677 | - fetchFrameIndex = nextFrameIndex; | |
| 678 | - } | |
| 679 | - | |
| 680 | - if (!fetchFrame && !bufferFull && self.fetchQueue.operationCount == 0) { | |
| 681 | - // Prefetch next frame in background queue | |
| 682 | - UIImage<SDAnimatedImage> *animatedImage = self.animatedImage; | |
| 683 | - @weakify(self); | |
| 684 | - NSOperation *operation = [NSBlockOperation blockOperationWithBlock:^{ | |
| 685 | - @strongify(self); | |
| 686 | - if (!self) { | |
| 687 | - return; | |
| 688 | - } | |
| 689 | - UIImage *frame = [animatedImage animatedImageFrameAtIndex:fetchFrameIndex]; | |
| 690 | - | |
| 691 | - BOOL isAnimating = NO; | |
| 692 | -#if SD_MAC | |
| 693 | - isAnimating = CVDisplayLinkIsRunning(self.displayLink); | |
| 694 | -#else | |
| 695 | - isAnimating = !self.displayLink.isPaused; | |
| 696 | -#endif | |
| 697 | - if (isAnimating) { | |
| 698 | - SD_LOCK(self.lock); | |
| 699 | - self.frameBuffer[@(fetchFrameIndex)] = frame; | |
| 700 | - SD_UNLOCK(self.lock); | |
| 701 | - } | |
| 702 | - // Ensure when self dealloc, it dealloced on the main queue (UIKit/AppKit rule) | |
| 703 | - dispatch_async(dispatch_get_main_queue(), ^{ | |
| 704 | - [self class]; | |
| 705 | - }); | |
| 706 | - }]; | |
| 707 | - [self.fetchQueue addOperation:operation]; | |
| 708 | - } | |
| 709 | -} | |
| 710 | - | |
| 711 | -+ (NSString *)defaultRunLoopMode | |
| 712 | -{ | |
| 713 | - // Key off `activeProcessorCount` (as opposed to `processorCount`) since the system could shut down cores in certain situations. | |
| 714 | - return [NSProcessInfo processInfo].activeProcessorCount > 1 ? NSRunLoopCommonModes : NSDefaultRunLoopMode; | |
| 462 | + return nil; | |
| 715 | 463 | } |
| 716 | 464 | |
| 717 | 465 | |
| ... | ... | @@ -720,9 +468,15 @@ static NSUInteger SDDeviceFreeMemory() { |
| 720 | 468 | |
| 721 | 469 | - (void)displayLayer:(CALayer *)layer |
| 722 | 470 | { |
| 723 | - if (self.currentFrame) { | |
| 724 | - layer.contentsScale = self.animatedImageScale; | |
| 725 | - layer.contents = (__bridge id)self.currentFrame.CGImage; | |
| 471 | + UIImage *currentFrame = self.currentFrame; | |
| 472 | + if (currentFrame) { | |
| 473 | + layer.contentsScale = currentFrame.scale; | |
| 474 | + layer.contents = (__bridge id)currentFrame.CGImage; | |
| 475 | + } else { | |
| 476 | + // If we have no animation frames, call super implementation. iOS 14+ UIImageView use this delegate method for rendering. | |
| 477 | + if ([UIImageView instancesRespondToSelector:@selector(displayLayer:)]) { | |
| 478 | + [super displayLayer:layer]; | |
| 479 | + } | |
| 726 | 480 | } |
| 727 | 481 | } |
| 728 | 482 | |
| ... | ... | @@ -730,10 +484,10 @@ static NSUInteger SDDeviceFreeMemory() { |
| 730 | 484 | // NSImageView use a subview. We need this subview's layer for actual rendering. |
| 731 | 485 | // Why using this design may because of properties like `imageAlignment` and `imageScaling`, which it's not available for UIImageView.contentMode (it's impossible to align left and keep aspect ratio at the same time) |
| 732 | 486 | - (NSView *)imageView { |
| 733 | - NSImageView *imageView = imageView = objc_getAssociatedObject(self, NSSelectorFromString(@"_imageView")); | |
| 487 | + NSImageView *imageView = objc_getAssociatedObject(self, SD_SEL_SPI(imageView)); | |
| 734 | 488 | if (!imageView) { |
| 735 | 489 | // macOS 10.14 |
| 736 | - imageView = objc_getAssociatedObject(self, NSSelectorFromString(@"_imageSubview")); | |
| 490 | + imageView = objc_getAssociatedObject(self, SD_SEL_SPI(imageSubview)); | |
| 737 | 491 | } |
| 738 | 492 | return imageView; |
| 739 | 493 | } |
| ... | ... | @@ -760,45 +514,6 @@ static NSUInteger SDDeviceFreeMemory() { |
| 760 | 514 | |
| 761 | 515 | #endif |
| 762 | 516 | |
| 763 | - | |
| 764 | -#pragma mark - Util | |
| 765 | -- (void)calculateMaxBufferCount { | |
| 766 | - NSUInteger bytes = CGImageGetBytesPerRow(self.currentFrame.CGImage) * CGImageGetHeight(self.currentFrame.CGImage); | |
| 767 | - if (bytes == 0) bytes = 1024; | |
| 768 | - | |
| 769 | - NSUInteger max = 0; | |
| 770 | - if (self.maxBufferSize > 0) { | |
| 771 | - max = self.maxBufferSize; | |
| 772 | - } else { | |
| 773 | - // Calculate based on current memory, these factors are by experience | |
| 774 | - NSUInteger total = SDDeviceTotalMemory(); | |
| 775 | - NSUInteger free = SDDeviceFreeMemory(); | |
| 776 | - max = MIN(total * 0.2, free * 0.6); | |
| 777 | - } | |
| 778 | - | |
| 779 | - NSUInteger maxBufferCount = (double)max / (double)bytes; | |
| 780 | - if (!maxBufferCount) { | |
| 781 | - // At least 1 frame | |
| 782 | - maxBufferCount = 1; | |
| 783 | - } | |
| 784 | - | |
| 785 | - self.maxBufferCount = maxBufferCount; | |
| 786 | -} | |
| 787 | - | |
| 788 | 517 | @end |
| 789 | 518 | |
| 790 | -#if SD_MAC | |
| 791 | -static CVReturn DisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTimeStamp *inNow, const CVTimeStamp *inOutputTime, CVOptionFlags flagsIn, CVOptionFlags *flagsOut, void *displayLinkContext) { | |
| 792 | - // Calculate refresh duration | |
| 793 | - NSTimeInterval duration = (double)inOutputTime->videoRefreshPeriod / ((double)inOutputTime->videoTimeScale * inOutputTime->rateScalar); | |
| 794 | - // CVDisplayLink callback is not on main queue | |
| 795 | - SDAnimatedImageView *imageView = (__bridge SDAnimatedImageView *)displayLinkContext; | |
| 796 | - __weak SDAnimatedImageView *weakImageView = imageView; | |
| 797 | - dispatch_async(dispatch_get_main_queue(), ^{ | |
| 798 | - [weakImageView displayDidRefresh:displayLink duration:duration]; | |
| 799 | - }); | |
| 800 | - return kCVReturnSuccess; | |
| 801 | -} | |
| 802 | -#endif | |
| 803 | - | |
| 804 | 519 | #endif | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/SDDiskCache.h
| ... | ... | @@ -55,6 +55,26 @@ |
| 55 | 55 | - (void)setData:(nullable NSData *)data forKey:(nonnull NSString *)key; |
| 56 | 56 | |
| 57 | 57 | /** |
| 58 | + Returns the extended data associated with a given key. | |
| 59 | + This method may blocks the calling thread until file read finished. | |
| 60 | + | |
| 61 | + @param key A string identifying the data. If nil, just return nil. | |
| 62 | + @return The value associated with key, or nil if no value is associated with key. | |
| 63 | + */ | |
| 64 | +- (nullable NSData *)extendedDataForKey:(nonnull NSString *)key; | |
| 65 | + | |
| 66 | +/** | |
| 67 | + Set extended data with a given key. | |
| 68 | + | |
| 69 | + @discussion You can set any extended data to exist cache key. Without override the exist disk file data. | |
| 70 | + on UNIX, the common way for this is to use the Extended file attributes (xattr) | |
| 71 | + | |
| 72 | + @param extendedData The extended data (pass nil to remove). | |
| 73 | + @param key The key with which to associate the value. If nil, this method has no effect. | |
| 74 | +*/ | |
| 75 | +- (void)setExtendedData:(nullable NSData *)extendedData forKey:(nonnull NSString *)key; | |
| 76 | + | |
| 77 | +/** | |
| 58 | 78 | Removes the value of the specified key in the cache. |
| 59 | 79 | This method may blocks the calling thread until file delete finished. |
| 60 | 80 | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/SDDiskCache.m
| ... | ... | @@ -8,8 +8,11 @@ |
| 8 | 8 | |
| 9 | 9 | #import "SDDiskCache.h" |
| 10 | 10 | #import "SDImageCacheConfig.h" |
| 11 | +#import "SDFileAttributeHelper.h" | |
| 11 | 12 | #import <CommonCrypto/CommonDigest.h> |
| 12 | 13 | |
| 14 | +static NSString * const SDDiskCacheExtendedAttributeName = @"com.hackemist.SDDiskCache"; | |
| 15 | + | |
| 13 | 16 | @interface SDDiskCache () |
| 14 | 17 | |
| 15 | 18 | @property (nonatomic, copy) NSString *diskCachePath; |
| ... | ... | @@ -83,7 +86,7 @@ |
| 83 | 86 | |
| 84 | 87 | // get cache Path for image key |
| 85 | 88 | NSString *cachePathForKey = [self cachePathForKey:key]; |
| 86 | - // transform to NSUrl | |
| 89 | + // transform to NSURL | |
| 87 | 90 | NSURL *fileURL = [NSURL fileURLWithPath:cachePathForKey]; |
| 88 | 91 | |
| 89 | 92 | [data writeToURL:fileURL options:self.config.diskCacheWritingOptions error:nil]; |
| ... | ... | @@ -95,6 +98,31 @@ |
| 95 | 98 | } |
| 96 | 99 | } |
| 97 | 100 | |
| 101 | +- (NSData *)extendedDataForKey:(NSString *)key { | |
| 102 | + NSParameterAssert(key); | |
| 103 | + | |
| 104 | + // get cache Path for image key | |
| 105 | + NSString *cachePathForKey = [self cachePathForKey:key]; | |
| 106 | + | |
| 107 | + NSData *extendedData = [SDFileAttributeHelper extendedAttribute:SDDiskCacheExtendedAttributeName atPath:cachePathForKey traverseLink:NO error:nil]; | |
| 108 | + | |
| 109 | + return extendedData; | |
| 110 | +} | |
| 111 | + | |
| 112 | +- (void)setExtendedData:(NSData *)extendedData forKey:(NSString *)key { | |
| 113 | + NSParameterAssert(key); | |
| 114 | + // get cache Path for image key | |
| 115 | + NSString *cachePathForKey = [self cachePathForKey:key]; | |
| 116 | + | |
| 117 | + if (!extendedData) { | |
| 118 | + // Remove | |
| 119 | + [SDFileAttributeHelper removeExtendedAttribute:SDDiskCacheExtendedAttributeName atPath:cachePathForKey traverseLink:NO error:nil]; | |
| 120 | + } else { | |
| 121 | + // Override | |
| 122 | + [SDFileAttributeHelper setExtendedAttribute:SDDiskCacheExtendedAttributeName value:extendedData atPath:cachePathForKey traverseLink:NO overwrite:YES error:nil]; | |
| 123 | + } | |
| 124 | +} | |
| 125 | + | |
| 98 | 126 | - (void)removeDataForKey:(NSString *)key { |
| 99 | 127 | NSParameterAssert(key); |
| 100 | 128 | NSString *filePath = [self cachePathForKey:key]; |
| ... | ... | @@ -118,11 +146,15 @@ |
| 118 | 146 | case SDImageCacheConfigExpireTypeAccessDate: |
| 119 | 147 | cacheContentDateKey = NSURLContentAccessDateKey; |
| 120 | 148 | break; |
| 121 | - | |
| 122 | 149 | case SDImageCacheConfigExpireTypeModificationDate: |
| 123 | 150 | cacheContentDateKey = NSURLContentModificationDateKey; |
| 124 | 151 | break; |
| 125 | - | |
| 152 | + case SDImageCacheConfigExpireTypeCreationDate: | |
| 153 | + cacheContentDateKey = NSURLCreationDateKey; | |
| 154 | + break; | |
| 155 | + case SDImageCacheConfigExpireTypeChangeDate: | |
| 156 | + cacheContentDateKey = NSURLAttributeModificationDateKey; | |
| 157 | + break; | |
| 126 | 158 | default: |
| 127 | 159 | break; |
| 128 | 160 | } | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/SDImageAPNGCoder.m
| ... | ... | @@ -13,7 +13,7 @@ |
| 13 | 13 | #import <MobileCoreServices/MobileCoreServices.h> |
| 14 | 14 | #endif |
| 15 | 15 | |
| 16 | -// iOS 8 Image/IO framework binary does not contains these APNG contants, so we define them. Thanks Apple :) | |
| 16 | +// iOS 8 Image/IO framework binary does not contains these APNG constants, so we define them. Thanks Apple :) | |
| 17 | 17 | // We can not use runtime @available check for this issue, because it's a global symbol and should be loaded during launch time by dyld. So hack if the min deployment target version < iOS 9.0, whatever it running on iOS 9+ or not. |
| 18 | 18 | #if (__IPHONE_OS_VERSION_MIN_REQUIRED && __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_9_0) |
| 19 | 19 | const CFStringRef kCGImagePropertyAPNGLoopCount = (__bridge CFStringRef)@"LoopCount"; | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/SDImageCache.h
| ... | ... | @@ -40,7 +40,7 @@ typedef NS_OPTIONS(NSUInteger, SDImageCacheOptions) { |
| 40 | 40 | */ |
| 41 | 41 | SDImageCacheAvoidDecodeImage = 1 << 4, |
| 42 | 42 | /** |
| 43 | - * By default, we decode the animated image. This flag can force decode the first frame only and produece the static image. | |
| 43 | + * By default, we decode the animated image. This flag can force decode the first frame only and produce the static image. | |
| 44 | 44 | */ |
| 45 | 45 | SDImageCacheDecodeFirstFrameOnly = 1 << 5, |
| 46 | 46 | /** |
| ... | ... | @@ -49,7 +49,7 @@ typedef NS_OPTIONS(NSUInteger, SDImageCacheOptions) { |
| 49 | 49 | SDImageCachePreloadAllFrames = 1 << 6, |
| 50 | 50 | /** |
| 51 | 51 | * By default, when you use `SDWebImageContextAnimatedImageClass` context option (like using `SDAnimatedImageView` which designed to use `SDAnimatedImage`), we may still use `UIImage` when the memory cache hit, or image decoder is not available, to behave as a fallback solution. |
| 52 | - * Using this option, can ensure we always produce image with your provided class. If failed, a error with code `SDWebImageErrorBadImageData` will been used. | |
| 52 | + * Using this option, can ensure we always produce image with your provided class. If failed, an error with code `SDWebImageErrorBadImageData` will be used. | |
| 53 | 53 | * Note this options is not compatible with `SDImageCacheDecodeFirstFrameOnly`, which always produce a UIImage/NSImage. |
| 54 | 54 | */ |
| 55 | 55 | SDImageCacheMatchAnimatedImageClass = 1 << 7, |
| ... | ... | @@ -65,7 +65,7 @@ typedef NS_OPTIONS(NSUInteger, SDImageCacheOptions) { |
| 65 | 65 | |
| 66 | 66 | /** |
| 67 | 67 | * Cache Config object - storing all kind of settings. |
| 68 | - * The property is copy so change of currrent config will not accidentally affect other cache's config. | |
| 68 | + * The property is copy so change of current config will not accidentally affect other cache's config. | |
| 69 | 69 | */ |
| 70 | 70 | @property (nonatomic, copy, nonnull, readonly) SDImageCacheConfig *config; |
| 71 | 71 | |
| ... | ... | @@ -162,6 +162,7 @@ typedef NS_OPTIONS(NSUInteger, SDImageCacheOptions) { |
| 162 | 162 | * @param key The unique image cache key, usually it's image absolute URL |
| 163 | 163 | * @param toDisk Store the image to disk cache if YES. If NO, the completion block is called synchronously |
| 164 | 164 | * @param completionBlock A block executed after the operation is finished |
| 165 | + * @note If no image data is provided and encode to disk, we will try to detect the image format (using either `sd_imageFormat` or `SDAnimatedImage` protocol method) and animation status, to choose the best matched format, including GIF, JPEG or PNG. | |
| 165 | 166 | */ |
| 166 | 167 | - (void)storeImage:(nullable UIImage *)image |
| 167 | 168 | forKey:(nullable NSString *)key |
| ... | ... | @@ -178,6 +179,7 @@ typedef NS_OPTIONS(NSUInteger, SDImageCacheOptions) { |
| 178 | 179 | * @param key The unique image cache key, usually it's image absolute URL |
| 179 | 180 | * @param toDisk Store the image to disk cache if YES. If NO, the completion block is called synchronously |
| 180 | 181 | * @param completionBlock A block executed after the operation is finished |
| 182 | + * @note If no image data is provided and encode to disk, we will try to detect the image format (using either `sd_imageFormat` or `SDAnimatedImage` protocol method) and animation status, to choose the best matched format, including GIF, JPEG or PNG. | |
| 181 | 183 | */ |
| 182 | 184 | - (void)storeImage:(nullable UIImage *)image |
| 183 | 185 | imageData:(nullable NSData *)imageData |
| ... | ... | @@ -225,8 +227,7 @@ typedef NS_OPTIONS(NSUInteger, SDImageCacheOptions) { |
| 225 | 227 | #pragma mark - Query and Retrieve Ops |
| 226 | 228 | |
| 227 | 229 | /** |
| 228 | - * Asynchronously queries the cache with operation and call the completion when done. | |
| 229 | - * Query the image data for the given key synchronously. | |
| 230 | + * Synchronously query the image data for the given key in disk cache. You can decode the image data to image after loaded. | |
| 230 | 231 | * |
| 231 | 232 | * @param key The unique key used to store the wanted image |
| 232 | 233 | * @return The image data for the given key, or nil if not found. |
| ... | ... | @@ -234,9 +235,18 @@ typedef NS_OPTIONS(NSUInteger, SDImageCacheOptions) { |
| 234 | 235 | - (nullable NSData *)diskImageDataForKey:(nullable NSString *)key; |
| 235 | 236 | |
| 236 | 237 | /** |
| 237 | - * Operation that queries the cache asynchronously and call the completion when done. | |
| 238 | + * Asynchronously query the image data for the given key in disk cache. You can decode the image data to image after loaded. | |
| 238 | 239 | * |
| 239 | - * @param key The unique key used to store the wanted image | |
| 240 | + * @param key The unique key used to store the wanted image | |
| 241 | + * @param completionBlock the block to be executed when the query is done. | |
| 242 | + * @note the completion block will be always executed on the main queue | |
| 243 | + */ | |
| 244 | +- (void)diskImageDataQueryForKey:(nullable NSString *)key completion:(nullable SDImageCacheQueryDataCompletionBlock)completionBlock; | |
| 245 | + | |
| 246 | +/** | |
| 247 | + * Asynchronously queries the cache with operation and call the completion when done. | |
| 248 | + * | |
| 249 | + * @param key The unique key used to store the wanted image. If you want transformed or thumbnail image, calculate the key with `SDTransformedKeyForKey`, `SDThumbnailedKeyForKey`, or generate the cache key from url with `cacheKeyForURL:context:`. | |
| 240 | 250 | * @param doneBlock The completion block. Will not get called if the operation is cancelled |
| 241 | 251 | * |
| 242 | 252 | * @return a NSOperation instance containing the cache op |
| ... | ... | @@ -246,7 +256,7 @@ typedef NS_OPTIONS(NSUInteger, SDImageCacheOptions) { |
| 246 | 256 | /** |
| 247 | 257 | * Asynchronously queries the cache with operation and call the completion when done. |
| 248 | 258 | * |
| 249 | - * @param key The unique key used to store the wanted image | |
| 259 | + * @param key The unique key used to store the wanted image. If you want transformed or thumbnail image, calculate the key with `SDTransformedKeyForKey`, `SDThumbnailedKeyForKey`, or generate the cache key from url with `cacheKeyForURL:context:`. | |
| 250 | 260 | * @param options A mask to specify options to use for this cache query |
| 251 | 261 | * @param doneBlock The completion block. Will not get called if the operation is cancelled |
| 252 | 262 | * |
| ... | ... | @@ -257,7 +267,7 @@ typedef NS_OPTIONS(NSUInteger, SDImageCacheOptions) { |
| 257 | 267 | /** |
| 258 | 268 | * Asynchronously queries the cache with operation and call the completion when done. |
| 259 | 269 | * |
| 260 | - * @param key The unique key used to store the wanted image | |
| 270 | + * @param key The unique key used to store the wanted image. If you want transformed or thumbnail image, calculate the key with `SDTransformedKeyForKey`, `SDThumbnailedKeyForKey`, or generate the cache key from url with `cacheKeyForURL:context:`. | |
| 261 | 271 | * @param options A mask to specify options to use for this cache query |
| 262 | 272 | * @param context A context contains different options to perform specify changes or processes, see `SDWebImageContextOption`. This hold the extra objects which `options` enum can not hold. |
| 263 | 273 | * @param doneBlock The completion block. Will not get called if the operation is cancelled |
| ... | ... | @@ -267,6 +277,19 @@ typedef NS_OPTIONS(NSUInteger, SDImageCacheOptions) { |
| 267 | 277 | - (nullable NSOperation *)queryCacheOperationForKey:(nullable NSString *)key options:(SDImageCacheOptions)options context:(nullable SDWebImageContext *)context done:(nullable SDImageCacheQueryCompletionBlock)doneBlock; |
| 268 | 278 | |
| 269 | 279 | /** |
| 280 | + * Asynchronously queries the cache with operation and call the completion when done. | |
| 281 | + * | |
| 282 | + * @param key The unique key used to store the wanted image. If you want transformed or thumbnail image, calculate the key with `SDTransformedKeyForKey`, `SDThumbnailedKeyForKey`, or generate the cache key from url with `cacheKeyForURL:context:`. | |
| 283 | + * @param options A mask to specify options to use for this cache query | |
| 284 | + * @param context A context contains different options to perform specify changes or processes, see `SDWebImageContextOption`. This hold the extra objects which `options` enum can not hold. | |
| 285 | + * @param queryCacheType Specify where to query the cache from. By default we use `.all`, which means both memory cache and disk cache. You can choose to query memory only or disk only as well. Pass `.none` is invalid and callback with nil immediately. | |
| 286 | + * @param doneBlock The completion block. Will not get called if the operation is cancelled | |
| 287 | + * | |
| 288 | + * @return a NSOperation instance containing the cache op | |
| 289 | + */ | |
| 290 | +- (nullable NSOperation *)queryCacheOperationForKey:(nullable NSString *)key options:(SDImageCacheOptions)options context:(nullable SDWebImageContext *)context cacheType:(SDImageCacheType)queryCacheType done:(nullable SDImageCacheQueryCompletionBlock)doneBlock; | |
| 291 | + | |
| 292 | +/** | |
| 270 | 293 | * Synchronously query the memory cache. |
| 271 | 294 | * |
| 272 | 295 | * @param key The unique key used to store the image |
| ... | ... | @@ -283,6 +306,16 @@ typedef NS_OPTIONS(NSUInteger, SDImageCacheOptions) { |
| 283 | 306 | - (nullable UIImage *)imageFromDiskCacheForKey:(nullable NSString *)key; |
| 284 | 307 | |
| 285 | 308 | /** |
| 309 | + * Synchronously query the disk cache. With the options and context which may effect the image generation. (Such as transformer, animated image, thumbnail, etc) | |
| 310 | + * | |
| 311 | + * @param key The unique key used to store the image | |
| 312 | + * @param options A mask to specify options to use for this cache query | |
| 313 | + * @param context A context contains different options to perform specify changes or processes, see `SDWebImageContextOption`. This hold the extra objects which `options` enum can not hold. | |
| 314 | + * @return The image for the given key, or nil if not found. | |
| 315 | + */ | |
| 316 | +- (nullable UIImage *)imageFromDiskCacheForKey:(nullable NSString *)key options:(SDImageCacheOptions)options context:(nullable SDWebImageContext *)context; | |
| 317 | + | |
| 318 | +/** | |
| 286 | 319 | * Synchronously query the cache (memory and or disk) after checking the memory cache. |
| 287 | 320 | * |
| 288 | 321 | * @param key The unique key used to store the image |
| ... | ... | @@ -290,6 +323,16 @@ typedef NS_OPTIONS(NSUInteger, SDImageCacheOptions) { |
| 290 | 323 | */ |
| 291 | 324 | - (nullable UIImage *)imageFromCacheForKey:(nullable NSString *)key; |
| 292 | 325 | |
| 326 | +/** | |
| 327 | + * Synchronously query the cache (memory and or disk) after checking the memory cache. With the options and context which may effect the image generation. (Such as transformer, animated image, thumbnail, etc) | |
| 328 | + * | |
| 329 | + * @param key The unique key used to store the image | |
| 330 | + * @param options A mask to specify options to use for this cache query | |
| 331 | + * @param context A context contains different options to perform specify changes or processes, see `SDWebImageContextOption`. This hold the extra objects which `options` enum can not hold. | |
| 332 | + * @return The image for the given key, or nil if not found. | |
| 333 | + */ | |
| 334 | +- (nullable UIImage *)imageFromCacheForKey:(nullable NSString *)key options:(SDImageCacheOptions)options context:(nullable SDWebImageContext *)context;; | |
| 335 | + | |
| 293 | 336 | #pragma mark - Remove Ops |
| 294 | 337 | |
| 295 | 338 | /** | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/SDImageCache.m
| ... | ... | @@ -9,11 +9,11 @@ |
| 9 | 9 | #import "SDImageCache.h" |
| 10 | 10 | #import "NSImage+Compatibility.h" |
| 11 | 11 | #import "SDImageCodersManager.h" |
| 12 | -#import "SDImageTransformer.h" | |
| 13 | 12 | #import "SDImageCoderHelper.h" |
| 14 | 13 | #import "SDAnimatedImage.h" |
| 15 | 14 | #import "UIImage+MemoryCacheCost.h" |
| 16 | 15 | #import "UIImage+Metadata.h" |
| 16 | +#import "UIImage+ExtendedCacheData.h" | |
| 17 | 17 | |
| 18 | 18 | @interface SDImageCache () |
| 19 | 19 | |
| ... | ... | @@ -186,17 +186,55 @@ |
| 186 | 186 | dispatch_async(self.ioQueue, ^{ |
| 187 | 187 | @autoreleasepool { |
| 188 | 188 | NSData *data = imageData; |
| 189 | + if (!data && [image conformsToProtocol:@protocol(SDAnimatedImage)]) { | |
| 190 | + // If image is custom animated image class, prefer its original animated data | |
| 191 | + data = [((id<SDAnimatedImage>)image) animatedImageData]; | |
| 192 | + } | |
| 189 | 193 | if (!data && image) { |
| 190 | - // If we do not have any data to detect image format, check whether it contains alpha channel to use PNG or JPEG format | |
| 191 | - SDImageFormat format; | |
| 192 | - if ([SDImageCoderHelper CGImageContainsAlpha:image.CGImage]) { | |
| 193 | - format = SDImageFormatPNG; | |
| 194 | - } else { | |
| 195 | - format = SDImageFormatJPEG; | |
| 194 | + // Check image's associated image format, may return .undefined | |
| 195 | + SDImageFormat format = image.sd_imageFormat; | |
| 196 | + if (format == SDImageFormatUndefined) { | |
| 197 | + // If image is animated, use GIF (APNG may be better, but has bugs before macOS 10.14) | |
| 198 | + if (image.sd_isAnimated) { | |
| 199 | + format = SDImageFormatGIF; | |
| 200 | + } else { | |
| 201 | + // If we do not have any data to detect image format, check whether it contains alpha channel to use PNG or JPEG format | |
| 202 | + if ([SDImageCoderHelper CGImageContainsAlpha:image.CGImage]) { | |
| 203 | + format = SDImageFormatPNG; | |
| 204 | + } else { | |
| 205 | + format = SDImageFormatJPEG; | |
| 206 | + } | |
| 207 | + } | |
| 196 | 208 | } |
| 197 | 209 | data = [[SDImageCodersManager sharedManager] encodedDataWithImage:image format:format options:nil]; |
| 198 | 210 | } |
| 199 | 211 | [self _storeImageDataToDisk:data forKey:key]; |
| 212 | + if (image) { | |
| 213 | + // Check extended data | |
| 214 | + id extendedObject = image.sd_extendedObject; | |
| 215 | + if ([extendedObject conformsToProtocol:@protocol(NSCoding)]) { | |
| 216 | + NSData *extendedData; | |
| 217 | + if (@available(iOS 11, tvOS 11, macOS 10.13, watchOS 4, *)) { | |
| 218 | + NSError *error; | |
| 219 | + extendedData = [NSKeyedArchiver archivedDataWithRootObject:extendedObject requiringSecureCoding:NO error:&error]; | |
| 220 | + if (error) { | |
| 221 | + NSLog(@"NSKeyedArchiver archive failed with error: %@", error); | |
| 222 | + } | |
| 223 | + } else { | |
| 224 | + @try { | |
| 225 | +#pragma clang diagnostic push | |
| 226 | +#pragma clang diagnostic ignored "-Wdeprecated-declarations" | |
| 227 | + extendedData = [NSKeyedArchiver archivedDataWithRootObject:extendedObject]; | |
| 228 | +#pragma clang diagnostic pop | |
| 229 | + } @catch (NSException *exception) { | |
| 230 | + NSLog(@"NSKeyedArchiver archive failed with exception: %@", exception); | |
| 231 | + } | |
| 232 | + } | |
| 233 | + if (extendedData) { | |
| 234 | + [self.diskCache setExtendedData:extendedData forKey:key]; | |
| 235 | + } | |
| 236 | + } | |
| 237 | + } | |
| 200 | 238 | } |
| 201 | 239 | |
| 202 | 240 | if (completionBlock) { |
| ... | ... | @@ -275,6 +313,17 @@ |
| 275 | 313 | return [self.diskCache containsDataForKey:key]; |
| 276 | 314 | } |
| 277 | 315 | |
| 316 | +- (void)diskImageDataQueryForKey:(NSString *)key completion:(SDImageCacheQueryDataCompletionBlock)completionBlock { | |
| 317 | + dispatch_async(self.ioQueue, ^{ | |
| 318 | + NSData *imageData = [self diskImageDataBySearchingAllPathsForKey:key]; | |
| 319 | + if (completionBlock) { | |
| 320 | + dispatch_async(dispatch_get_main_queue(), ^{ | |
| 321 | + completionBlock(imageData); | |
| 322 | + }); | |
| 323 | + } | |
| 324 | + }); | |
| 325 | +} | |
| 326 | + | |
| 278 | 327 | - (nullable NSData *)diskImageDataForKey:(nullable NSString *)key { |
| 279 | 328 | if (!key) { |
| 280 | 329 | return nil; |
| ... | ... | @@ -292,7 +341,12 @@ |
| 292 | 341 | } |
| 293 | 342 | |
| 294 | 343 | - (nullable UIImage *)imageFromDiskCacheForKey:(nullable NSString *)key { |
| 295 | - UIImage *diskImage = [self diskImageForKey:key]; | |
| 344 | + return [self imageFromDiskCacheForKey:key options:0 context:nil]; | |
| 345 | +} | |
| 346 | + | |
| 347 | +- (nullable UIImage *)imageFromDiskCacheForKey:(nullable NSString *)key options:(SDImageCacheOptions)options context:(nullable SDWebImageContext *)context { | |
| 348 | + NSData *data = [self diskImageDataForKey:key]; | |
| 349 | + UIImage *diskImage = [self diskImageForKey:key data:data options:options context:context]; | |
| 296 | 350 | if (diskImage && self.config.shouldCacheImagesInMemory) { |
| 297 | 351 | NSUInteger cost = diskImage.sd_memoryCost; |
| 298 | 352 | [self.memoryCache setObject:diskImage forKey:key cost:cost]; |
| ... | ... | @@ -302,6 +356,10 @@ |
| 302 | 356 | } |
| 303 | 357 | |
| 304 | 358 | - (nullable UIImage *)imageFromCacheForKey:(nullable NSString *)key { |
| 359 | + return [self imageFromCacheForKey:key options:0 context:nil]; | |
| 360 | +} | |
| 361 | + | |
| 362 | +- (nullable UIImage *)imageFromCacheForKey:(nullable NSString *)key options:(SDImageCacheOptions)options context:(nullable SDWebImageContext *)context { | |
| 305 | 363 | // First check the in-memory cache... |
| 306 | 364 | UIImage *image = [self imageFromMemoryCacheForKey:key]; |
| 307 | 365 | if (image) { |
| ... | ... | @@ -309,7 +367,7 @@ |
| 309 | 367 | } |
| 310 | 368 | |
| 311 | 369 | // Second check the disk cache... |
| 312 | - image = [self imageFromDiskCacheForKey:key]; | |
| 370 | + image = [self imageFromDiskCacheForKey:key options:options context:context]; | |
| 313 | 371 | return image; |
| 314 | 372 | } |
| 315 | 373 | |
| ... | ... | @@ -346,6 +404,32 @@ |
| 346 | 404 | - (nullable UIImage *)diskImageForKey:(nullable NSString *)key data:(nullable NSData *)data options:(SDImageCacheOptions)options context:(SDWebImageContext *)context { |
| 347 | 405 | if (data) { |
| 348 | 406 | UIImage *image = SDImageCacheDecodeImageData(data, key, [[self class] imageOptionsFromCacheOptions:options], context); |
| 407 | + if (image) { | |
| 408 | + // Check extended data | |
| 409 | + NSData *extendedData = [self.diskCache extendedDataForKey:key]; | |
| 410 | + if (extendedData) { | |
| 411 | + id extendedObject; | |
| 412 | + if (@available(iOS 11, tvOS 11, macOS 10.13, watchOS 4, *)) { | |
| 413 | + NSError *error; | |
| 414 | + NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingFromData:extendedData error:&error]; | |
| 415 | + unarchiver.requiresSecureCoding = NO; | |
| 416 | + extendedObject = [unarchiver decodeTopLevelObjectForKey:NSKeyedArchiveRootObjectKey error:&error]; | |
| 417 | + if (error) { | |
| 418 | + NSLog(@"NSKeyedUnarchiver unarchive failed with error: %@", error); | |
| 419 | + } | |
| 420 | + } else { | |
| 421 | + @try { | |
| 422 | +#pragma clang diagnostic push | |
| 423 | +#pragma clang diagnostic ignored "-Wdeprecated-declarations" | |
| 424 | + extendedObject = [NSKeyedUnarchiver unarchiveObjectWithData:extendedData]; | |
| 425 | +#pragma clang diagnostic pop | |
| 426 | + } @catch (NSException *exception) { | |
| 427 | + NSLog(@"NSKeyedUnarchiver unarchive failed with exception: %@", exception); | |
| 428 | + } | |
| 429 | + } | |
| 430 | + image.sd_extendedObject = extendedObject; | |
| 431 | + } | |
| 432 | + } | |
| 349 | 433 | return image; |
| 350 | 434 | } else { |
| 351 | 435 | return nil; |
| ... | ... | @@ -361,22 +445,29 @@ |
| 361 | 445 | } |
| 362 | 446 | |
| 363 | 447 | - (nullable NSOperation *)queryCacheOperationForKey:(nullable NSString *)key options:(SDImageCacheOptions)options context:(nullable SDWebImageContext *)context done:(nullable SDImageCacheQueryCompletionBlock)doneBlock { |
| 448 | + return [self queryCacheOperationForKey:key options:options context:context cacheType:SDImageCacheTypeAll done:doneBlock]; | |
| 449 | +} | |
| 450 | + | |
| 451 | +- (nullable NSOperation *)queryCacheOperationForKey:(nullable NSString *)key options:(SDImageCacheOptions)options context:(nullable SDWebImageContext *)context cacheType:(SDImageCacheType)queryCacheType done:(nullable SDImageCacheQueryCompletionBlock)doneBlock { | |
| 364 | 452 | if (!key) { |
| 365 | 453 | if (doneBlock) { |
| 366 | 454 | doneBlock(nil, nil, SDImageCacheTypeNone); |
| 367 | 455 | } |
| 368 | 456 | return nil; |
| 369 | 457 | } |
| 370 | - | |
| 371 | - id<SDImageTransformer> transformer = context[SDWebImageContextImageTransformer]; | |
| 372 | - if (transformer) { | |
| 373 | - // grab the transformed disk image if transformer provided | |
| 374 | - NSString *transformerKey = [transformer transformerKey]; | |
| 375 | - key = SDTransformedKeyForKey(key, transformerKey); | |
| 458 | + // Invalid cache type | |
| 459 | + if (queryCacheType == SDImageCacheTypeNone) { | |
| 460 | + if (doneBlock) { | |
| 461 | + doneBlock(nil, nil, SDImageCacheTypeNone); | |
| 462 | + } | |
| 463 | + return nil; | |
| 376 | 464 | } |
| 377 | 465 | |
| 378 | 466 | // First check the in-memory cache... |
| 379 | - UIImage *image = [self imageFromMemoryCacheForKey:key]; | |
| 467 | + UIImage *image; | |
| 468 | + if (queryCacheType != SDImageCacheTypeDisk) { | |
| 469 | + image = [self imageFromMemoryCacheForKey:key]; | |
| 470 | + } | |
| 380 | 471 | |
| 381 | 472 | if (image) { |
| 382 | 473 | if (options & SDImageCacheDecodeFirstFrameOnly) { |
| ... | ... | @@ -399,7 +490,7 @@ |
| 399 | 490 | } |
| 400 | 491 | } |
| 401 | 492 | |
| 402 | - BOOL shouldQueryMemoryOnly = (image && !(options & SDImageCacheQueryMemoryData)); | |
| 493 | + BOOL shouldQueryMemoryOnly = (queryCacheType == SDImageCacheTypeMemory) || (image && !(options & SDImageCacheQueryMemoryData)); | |
| 403 | 494 | if (shouldQueryMemoryOnly) { |
| 404 | 495 | if (doneBlock) { |
| 405 | 496 | doneBlock(image, nil, SDImageCacheTypeMemory); |
| ... | ... | @@ -513,7 +604,7 @@ |
| 513 | 604 | }); |
| 514 | 605 | } |
| 515 | 606 | |
| 516 | -// Make sure to call form io queue by caller | |
| 607 | +// Make sure to call from io queue by caller | |
| 517 | 608 | - (void)_removeImageFromDiskForKey:(NSString *)key { |
| 518 | 609 | if (!key) { |
| 519 | 610 | return; |
| ... | ... | @@ -634,6 +725,10 @@ |
| 634 | 725 | #pragma mark - SDImageCache |
| 635 | 726 | |
| 636 | 727 | - (id<SDWebImageOperation>)queryImageForKey:(NSString *)key options:(SDWebImageOptions)options context:(nullable SDWebImageContext *)context completion:(nullable SDImageCacheQueryCompletionBlock)completionBlock { |
| 728 | + return [self queryImageForKey:key options:options context:context cacheType:SDImageCacheTypeAll completion:completionBlock]; | |
| 729 | +} | |
| 730 | + | |
| 731 | +- (id<SDWebImageOperation>)queryImageForKey:(NSString *)key options:(SDWebImageOptions)options context:(nullable SDWebImageContext *)context cacheType:(SDImageCacheType)cacheType completion:(nullable SDImageCacheQueryCompletionBlock)completionBlock { | |
| 637 | 732 | SDImageCacheOptions cacheOptions = 0; |
| 638 | 733 | if (options & SDWebImageQueryMemoryData) cacheOptions |= SDImageCacheQueryMemoryData; |
| 639 | 734 | if (options & SDWebImageQueryMemoryDataSync) cacheOptions |= SDImageCacheQueryMemoryDataSync; |
| ... | ... | @@ -644,7 +739,7 @@ |
| 644 | 739 | if (options & SDWebImagePreloadAllFrames) cacheOptions |= SDImageCachePreloadAllFrames; |
| 645 | 740 | if (options & SDWebImageMatchAnimatedImageClass) cacheOptions |= SDImageCacheMatchAnimatedImageClass; |
| 646 | 741 | |
| 647 | - return [self queryCacheOperationForKey:key options:cacheOptions context:context done:completionBlock]; | |
| 742 | + return [self queryCacheOperationForKey:key options:cacheOptions context:context cacheType:cacheType done:completionBlock]; | |
| 648 | 743 | } |
| 649 | 744 | |
| 650 | 745 | - (void)storeImage:(UIImage *)image imageData:(NSData *)imageData forKey:(nullable NSString *)key cacheType:(SDImageCacheType)cacheType completion:(nullable SDWebImageNoParamsBlock)completionBlock { | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/SDImageCacheConfig.h
| ... | ... | @@ -12,13 +12,21 @@ |
| 12 | 12 | /// Image Cache Expire Type |
| 13 | 13 | typedef NS_ENUM(NSUInteger, SDImageCacheConfigExpireType) { |
| 14 | 14 | /** |
| 15 | - * When the image is accessed it will update this value | |
| 15 | + * When the image cache is accessed it will update this value | |
| 16 | 16 | */ |
| 17 | 17 | SDImageCacheConfigExpireTypeAccessDate, |
| 18 | 18 | /** |
| 19 | - * The image was obtained from the disk cache (Default) | |
| 19 | + * When the image cache is created or modified it will update this value (Default) | |
| 20 | 20 | */ |
| 21 | - SDImageCacheConfigExpireTypeModificationDate | |
| 21 | + SDImageCacheConfigExpireTypeModificationDate, | |
| 22 | + /** | |
| 23 | + * When the image cache is created it will update this value | |
| 24 | + */ | |
| 25 | + SDImageCacheConfigExpireTypeCreationDate, | |
| 26 | + /** | |
| 27 | + * When the image cache is created, modified, renamed, file attribute updated (like permission, xattr) it will update this value | |
| 28 | + */ | |
| 29 | + SDImageCacheConfigExpireTypeChangeDate, | |
| 22 | 30 | }; |
| 23 | 31 | |
| 24 | 32 | /** |
| ... | ... | @@ -49,7 +57,7 @@ typedef NS_ENUM(NSUInteger, SDImageCacheConfigExpireType) { |
| 49 | 57 | /* |
| 50 | 58 | * The option to control weak memory cache for images. When enable, `SDImageCache`'s memory cache will use a weak maptable to store the image at the same time when it stored to memory, and get removed at the same time. |
| 51 | 59 | * However when memory warning is triggered, since the weak maptable does not hold a strong reference to image instance, even when the memory cache itself is purged, some images which are held strongly by UIImageViews or other live instances can be recovered again, to avoid later re-query from disk cache or network. This may be helpful for the case, for example, when app enter background and memory is purged, cause cell flashing after re-enter foreground. |
| 52 | - * Defautls to YES. You can change this option dynamically. | |
| 60 | + * Defaults to YES. You can change this option dynamically. | |
| 53 | 61 | */ |
| 54 | 62 | @property (assign, nonatomic) BOOL shouldUseWeakMemoryCache; |
| 55 | 63 | |
| ... | ... | @@ -107,7 +115,7 @@ typedef NS_ENUM(NSUInteger, SDImageCacheConfigExpireType) { |
| 107 | 115 | /** |
| 108 | 116 | * The custom file manager for disk cache. Pass nil to let disk cache choose the proper file manager. |
| 109 | 117 | * Defaults to nil. |
| 110 | - * @note This value does not support dynamic changes. Which means further modification on this value after cache initlized has no effect. | |
| 118 | + * @note This value does not support dynamic changes. Which means further modification on this value after cache initialized has no effect. | |
| 111 | 119 | * @note Since `NSFileManager` does not support `NSCopying`. We just pass this by reference during copying. So it's not recommend to set this value on `defaultCacheConfig`. |
| 112 | 120 | */ |
| 113 | 121 | @property (strong, nonatomic, nullable) NSFileManager *fileManager; |
| ... | ... | @@ -115,14 +123,14 @@ typedef NS_ENUM(NSUInteger, SDImageCacheConfigExpireType) { |
| 115 | 123 | /** |
| 116 | 124 | * The custom memory cache class. Provided class instance must conform to `SDMemoryCache` protocol to allow usage. |
| 117 | 125 | * Defaults to built-in `SDMemoryCache` class. |
| 118 | - * @note This value does not support dynamic changes. Which means further modification on this value after cache initlized has no effect. | |
| 126 | + * @note This value does not support dynamic changes. Which means further modification on this value after cache initialized has no effect. | |
| 119 | 127 | */ |
| 120 | 128 | @property (assign, nonatomic, nonnull) Class memoryCacheClass; |
| 121 | 129 | |
| 122 | 130 | /** |
| 123 | 131 | * The custom disk cache class. Provided class instance must conform to `SDDiskCache` protocol to allow usage. |
| 124 | 132 | * Defaults to built-in `SDDiskCache` class. |
| 125 | - * @note This value does not support dynamic changes. Which means further modification on this value after cache initlized has no effect. | |
| 133 | + * @note This value does not support dynamic changes. Which means further modification on this value after cache initialized has no effect. | |
| 126 | 134 | */ |
| 127 | 135 | @property (assign ,nonatomic, nonnull) Class diskCacheClass; |
| 128 | 136 | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/SDImageCacheDefine.h
| ... | ... | @@ -36,6 +36,7 @@ typedef NS_ENUM(NSInteger, SDImageCacheType) { |
| 36 | 36 | }; |
| 37 | 37 | |
| 38 | 38 | typedef void(^SDImageCacheCheckCompletionBlock)(BOOL isInCache); |
| 39 | +typedef void(^SDImageCacheQueryDataCompletionBlock)(NSData * _Nullable data); | |
| 39 | 40 | typedef void(^SDImageCacheCalculateSizeBlock)(NSUInteger fileCount, NSUInteger totalSize); |
| 40 | 41 | typedef NSString * _Nullable (^SDImageCacheAdditionalCachePathBlock)(NSString * _Nonnull key); |
| 41 | 42 | typedef void(^SDImageCacheQueryCompletionBlock)(UIImage * _Nullable image, NSData * _Nullable data, SDImageCacheType cacheType); |
| ... | ... | @@ -63,7 +64,7 @@ FOUNDATION_EXPORT UIImage * _Nullable SDImageCacheDecodeImageData(NSData * _Nonn |
| 63 | 64 | @required |
| 64 | 65 | /** |
| 65 | 66 | Query the cached image from image cache for given key. The operation can be used to cancel the query. |
| 66 | - If image is cached in memory, completion is called synchronously, else aynchronously and depends on the options arg (See `SDWebImageQueryDiskSync`) | |
| 67 | + If image is cached in memory, completion is called synchronously, else asynchronously and depends on the options arg (See `SDWebImageQueryDiskSync`) | |
| 67 | 68 | |
| 68 | 69 | @param key The image cache key |
| 69 | 70 | @param options A mask to specify options to use for this query |
| ... | ... | @@ -77,7 +78,24 @@ FOUNDATION_EXPORT UIImage * _Nullable SDImageCacheDecodeImageData(NSData * _Nonn |
| 77 | 78 | completion:(nullable SDImageCacheQueryCompletionBlock)completionBlock; |
| 78 | 79 | |
| 79 | 80 | /** |
| 80 | - Store the image into image cache for the given key. If cache type is memory only, completion is called synchronously, else aynchronously. | |
| 81 | + Query the cached image from image cache for given key. The operation can be used to cancel the query. | |
| 82 | + If image is cached in memory, completion is called synchronously, else asynchronously and depends on the options arg (See `SDWebImageQueryDiskSync`) | |
| 83 | + | |
| 84 | + @param key The image cache key | |
| 85 | + @param options A mask to specify options to use for this query | |
| 86 | + @param context A context contains different options to perform specify changes or processes, see `SDWebImageContextOption`. This hold the extra objects which `options` enum can not hold. | |
| 87 | + @param cacheType Specify where to query the cache from. By default we use `.all`, which means both memory cache and disk cache. You can choose to query memory only or disk only as well. Pass `.none` is invalid and callback with nil immediately. | |
| 88 | + @param completionBlock The completion block. Will not get called if the operation is cancelled | |
| 89 | + @return The operation for this query | |
| 90 | + */ | |
| 91 | +- (nullable id<SDWebImageOperation>)queryImageForKey:(nullable NSString *)key | |
| 92 | + options:(SDWebImageOptions)options | |
| 93 | + context:(nullable SDWebImageContext *)context | |
| 94 | + cacheType:(SDImageCacheType)cacheType | |
| 95 | + completion:(nullable SDImageCacheQueryCompletionBlock)completionBlock; | |
| 96 | + | |
| 97 | +/** | |
| 98 | + Store the image into image cache for the given key. If cache type is memory only, completion is called synchronously, else asynchronously. | |
| 81 | 99 | |
| 82 | 100 | @param image The image to store |
| 83 | 101 | @param imageData The image data to be used for disk storage |
| ... | ... | @@ -92,7 +110,7 @@ FOUNDATION_EXPORT UIImage * _Nullable SDImageCacheDecodeImageData(NSData * _Nonn |
| 92 | 110 | completion:(nullable SDWebImageNoParamsBlock)completionBlock; |
| 93 | 111 | |
| 94 | 112 | /** |
| 95 | - Remove the image from image cache for the given key. If cache type is memory only, completion is called synchronously, else aynchronously. | |
| 113 | + Remove the image from image cache for the given key. If cache type is memory only, completion is called synchronously, else asynchronously. | |
| 96 | 114 | |
| 97 | 115 | @param key The image cache key |
| 98 | 116 | @param cacheType The image remove op cache type |
| ... | ... | @@ -103,7 +121,7 @@ FOUNDATION_EXPORT UIImage * _Nullable SDImageCacheDecodeImageData(NSData * _Nonn |
| 103 | 121 | completion:(nullable SDWebImageNoParamsBlock)completionBlock; |
| 104 | 122 | |
| 105 | 123 | /** |
| 106 | - Check if image cache contains the image for the given key (does not load the image). If image is cached in memory, completion is called synchronously, else aynchronously. | |
| 124 | + Check if image cache contains the image for the given key (does not load the image). If image is cached in memory, completion is called synchronously, else asynchronously. | |
| 107 | 125 | |
| 108 | 126 | @param key The image cache key |
| 109 | 127 | @param cacheType The image contains op cache type |
| ... | ... | @@ -114,7 +132,7 @@ FOUNDATION_EXPORT UIImage * _Nullable SDImageCacheDecodeImageData(NSData * _Nonn |
| 114 | 132 | completion:(nullable SDImageCacheContainsCompletionBlock)completionBlock; |
| 115 | 133 | |
| 116 | 134 | /** |
| 117 | - Clear all the cached images for image cache. If cache type is memory only, completion is called synchronously, else aynchronously. | |
| 135 | + Clear all the cached images for image cache. If cache type is memory only, completion is called synchronously, else asynchronously. | |
| 118 | 136 | |
| 119 | 137 | @param cacheType The image clear op cache type |
| 120 | 138 | @param completionBlock A block executed after the operation is finished | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/SDImageCacheDefine.m
| ... | ... | @@ -18,11 +18,32 @@ UIImage * _Nullable SDImageCacheDecodeImageData(NSData * _Nonnull imageData, NSS |
| 18 | 18 | BOOL decodeFirstFrame = SD_OPTIONS_CONTAINS(options, SDWebImageDecodeFirstFrameOnly); |
| 19 | 19 | NSNumber *scaleValue = context[SDWebImageContextImageScaleFactor]; |
| 20 | 20 | CGFloat scale = scaleValue.doubleValue >= 1 ? scaleValue.doubleValue : SDImageScaleFactorForKey(cacheKey); |
| 21 | - SDImageCoderOptions *coderOptions = @{SDImageCoderDecodeFirstFrameOnly : @(decodeFirstFrame), SDImageCoderDecodeScaleFactor : @(scale)}; | |
| 22 | - if (context) { | |
| 23 | - SDImageCoderMutableOptions *mutableCoderOptions = [coderOptions mutableCopy]; | |
| 24 | - [mutableCoderOptions setValue:context forKey:SDImageCoderWebImageContext]; | |
| 25 | - coderOptions = [mutableCoderOptions copy]; | |
| 21 | + NSNumber *preserveAspectRatioValue = context[SDWebImageContextImagePreserveAspectRatio]; | |
| 22 | + NSValue *thumbnailSizeValue; | |
| 23 | + BOOL shouldScaleDown = SD_OPTIONS_CONTAINS(options, SDWebImageScaleDownLargeImages); | |
| 24 | + if (shouldScaleDown) { | |
| 25 | + CGFloat thumbnailPixels = SDImageCoderHelper.defaultScaleDownLimitBytes / 4; | |
| 26 | + CGFloat dimension = ceil(sqrt(thumbnailPixels)); | |
| 27 | + thumbnailSizeValue = @(CGSizeMake(dimension, dimension)); | |
| 28 | + } | |
| 29 | + if (context[SDWebImageContextImageThumbnailPixelSize]) { | |
| 30 | + thumbnailSizeValue = context[SDWebImageContextImageThumbnailPixelSize]; | |
| 31 | + } | |
| 32 | + | |
| 33 | + SDImageCoderMutableOptions *mutableCoderOptions = [NSMutableDictionary dictionaryWithCapacity:2]; | |
| 34 | + mutableCoderOptions[SDImageCoderDecodeFirstFrameOnly] = @(decodeFirstFrame); | |
| 35 | + mutableCoderOptions[SDImageCoderDecodeScaleFactor] = @(scale); | |
| 36 | + mutableCoderOptions[SDImageCoderDecodePreserveAspectRatio] = preserveAspectRatioValue; | |
| 37 | + mutableCoderOptions[SDImageCoderDecodeThumbnailPixelSize] = thumbnailSizeValue; | |
| 38 | + mutableCoderOptions[SDImageCoderWebImageContext] = context; | |
| 39 | + SDImageCoderOptions *coderOptions = [mutableCoderOptions copy]; | |
| 40 | + | |
| 41 | + // Grab the image coder | |
| 42 | + id<SDImageCoder> imageCoder; | |
| 43 | + if ([context[SDWebImageContextImageCoder] conformsToProtocol:@protocol(SDImageCoder)]) { | |
| 44 | + imageCoder = context[SDWebImageContextImageCoder]; | |
| 45 | + } else { | |
| 46 | + imageCoder = [SDImageCodersManager sharedManager]; | |
| 26 | 47 | } |
| 27 | 48 | |
| 28 | 49 | if (!decodeFirstFrame) { |
| ... | ... | @@ -44,7 +65,7 @@ UIImage * _Nullable SDImageCacheDecodeImageData(NSData * _Nonnull imageData, NSS |
| 44 | 65 | } |
| 45 | 66 | } |
| 46 | 67 | if (!image) { |
| 47 | - image = [[SDImageCodersManager sharedManager] decodedImageWithData:imageData options:coderOptions]; | |
| 68 | + image = [imageCoder decodedImageWithData:imageData options:coderOptions]; | |
| 48 | 69 | } |
| 49 | 70 | if (image) { |
| 50 | 71 | BOOL shouldDecode = !SD_OPTIONS_CONTAINS(options, SDWebImageAvoidDecodeImage); |
| ... | ... | @@ -56,12 +77,7 @@ UIImage * _Nullable SDImageCacheDecodeImageData(NSData * _Nonnull imageData, NSS |
| 56 | 77 | shouldDecode = NO; |
| 57 | 78 | } |
| 58 | 79 | if (shouldDecode) { |
| 59 | - BOOL shouldScaleDown = SD_OPTIONS_CONTAINS(options, SDWebImageScaleDownLargeImages); | |
| 60 | - if (shouldScaleDown) { | |
| 61 | - image = [SDImageCoderHelper decodedAndScaledDownImageWithImage:image limitBytes:0]; | |
| 62 | - } else { | |
| 63 | - image = [SDImageCoderHelper decodedImageWithImage:image]; | |
| 64 | - } | |
| 80 | + image = [SDImageCoderHelper decodedImageWithImage:image]; | |
| 65 | 81 | } |
| 66 | 82 | } |
| 67 | 83 | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/SDImageCachesManager.m
| ... | ... | @@ -85,6 +85,10 @@ |
| 85 | 85 | #pragma mark - SDImageCache |
| 86 | 86 | |
| 87 | 87 | - (id<SDWebImageOperation>)queryImageForKey:(NSString *)key options:(SDWebImageOptions)options context:(SDWebImageContext *)context completion:(SDImageCacheQueryCompletionBlock)completionBlock { |
| 88 | + return [self queryImageForKey:key options:options context:context cacheType:SDImageCacheTypeAll completion:completionBlock]; | |
| 89 | +} | |
| 90 | + | |
| 91 | +- (id<SDWebImageOperation>)queryImageForKey:(NSString *)key options:(SDWebImageOptions)options context:(SDWebImageContext *)context cacheType:(SDImageCacheType)cacheType completion:(SDImageCacheQueryCompletionBlock)completionBlock { | |
| 88 | 92 | if (!key) { |
| 89 | 93 | return nil; |
| 90 | 94 | } |
| ... | ... | @@ -93,30 +97,30 @@ |
| 93 | 97 | if (count == 0) { |
| 94 | 98 | return nil; |
| 95 | 99 | } else if (count == 1) { |
| 96 | - return [caches.firstObject queryImageForKey:key options:options context:context completion:completionBlock]; | |
| 100 | + return [caches.firstObject queryImageForKey:key options:options context:context cacheType:cacheType completion:completionBlock]; | |
| 97 | 101 | } |
| 98 | 102 | switch (self.queryOperationPolicy) { |
| 99 | 103 | case SDImageCachesManagerOperationPolicyHighestOnly: { |
| 100 | 104 | id<SDImageCache> cache = caches.lastObject; |
| 101 | - return [cache queryImageForKey:key options:options context:context completion:completionBlock]; | |
| 105 | + return [cache queryImageForKey:key options:options context:context cacheType:cacheType completion:completionBlock]; | |
| 102 | 106 | } |
| 103 | 107 | break; |
| 104 | 108 | case SDImageCachesManagerOperationPolicyLowestOnly: { |
| 105 | 109 | id<SDImageCache> cache = caches.firstObject; |
| 106 | - return [cache queryImageForKey:key options:options context:context completion:completionBlock]; | |
| 110 | + return [cache queryImageForKey:key options:options context:context cacheType:cacheType completion:completionBlock]; | |
| 107 | 111 | } |
| 108 | 112 | break; |
| 109 | 113 | case SDImageCachesManagerOperationPolicyConcurrent: { |
| 110 | 114 | SDImageCachesManagerOperation *operation = [SDImageCachesManagerOperation new]; |
| 111 | 115 | [operation beginWithTotalCount:caches.count]; |
| 112 | - [self concurrentQueryImageForKey:key options:options context:context completion:completionBlock enumerator:caches.reverseObjectEnumerator operation:operation]; | |
| 116 | + [self concurrentQueryImageForKey:key options:options context:context cacheType:cacheType completion:completionBlock enumerator:caches.reverseObjectEnumerator operation:operation]; | |
| 113 | 117 | return operation; |
| 114 | 118 | } |
| 115 | 119 | break; |
| 116 | 120 | case SDImageCachesManagerOperationPolicySerial: { |
| 117 | 121 | SDImageCachesManagerOperation *operation = [SDImageCachesManagerOperation new]; |
| 118 | 122 | [operation beginWithTotalCount:caches.count]; |
| 119 | - [self serialQueryImageForKey:key options:options context:context completion:completionBlock enumerator:caches.reverseObjectEnumerator operation:operation]; | |
| 123 | + [self serialQueryImageForKey:key options:options context:context cacheType:cacheType completion:completionBlock enumerator:caches.reverseObjectEnumerator operation:operation]; | |
| 120 | 124 | return operation; |
| 121 | 125 | } |
| 122 | 126 | break; |
| ... | ... | @@ -279,11 +283,11 @@ |
| 279 | 283 | |
| 280 | 284 | #pragma mark - Concurrent Operation |
| 281 | 285 | |
| 282 | -- (void)concurrentQueryImageForKey:(NSString *)key options:(SDWebImageOptions)options context:(SDWebImageContext *)context completion:(SDImageCacheQueryCompletionBlock)completionBlock enumerator:(NSEnumerator<id<SDImageCache>> *)enumerator operation:(SDImageCachesManagerOperation *)operation { | |
| 286 | +- (void)concurrentQueryImageForKey:(NSString *)key options:(SDWebImageOptions)options context:(SDWebImageContext *)context cacheType:(SDImageCacheType)queryCacheType completion:(SDImageCacheQueryCompletionBlock)completionBlock enumerator:(NSEnumerator<id<SDImageCache>> *)enumerator operation:(SDImageCachesManagerOperation *)operation { | |
| 283 | 287 | NSParameterAssert(enumerator); |
| 284 | 288 | NSParameterAssert(operation); |
| 285 | 289 | for (id<SDImageCache> cache in enumerator) { |
| 286 | - [cache queryImageForKey:key options:options context:context completion:^(UIImage * _Nullable image, NSData * _Nullable data, SDImageCacheType cacheType) { | |
| 290 | + [cache queryImageForKey:key options:options context:context cacheType:queryCacheType completion:^(UIImage * _Nullable image, NSData * _Nullable data, SDImageCacheType cacheType) { | |
| 287 | 291 | if (operation.isCancelled) { |
| 288 | 292 | // Cancelled |
| 289 | 293 | return; |
| ... | ... | @@ -422,7 +426,7 @@ |
| 422 | 426 | |
| 423 | 427 | #pragma mark - Serial Operation |
| 424 | 428 | |
| 425 | -- (void)serialQueryImageForKey:(NSString *)key options:(SDWebImageOptions)options context:(SDWebImageContext *)context completion:(SDImageCacheQueryCompletionBlock)completionBlock enumerator:(NSEnumerator<id<SDImageCache>> *)enumerator operation:(SDImageCachesManagerOperation *)operation { | |
| 429 | +- (void)serialQueryImageForKey:(NSString *)key options:(SDWebImageOptions)options context:(SDWebImageContext *)context cacheType:(SDImageCacheType)queryCacheType completion:(SDImageCacheQueryCompletionBlock)completionBlock enumerator:(NSEnumerator<id<SDImageCache>> *)enumerator operation:(SDImageCachesManagerOperation *)operation { | |
| 426 | 430 | NSParameterAssert(enumerator); |
| 427 | 431 | NSParameterAssert(operation); |
| 428 | 432 | id<SDImageCache> cache = enumerator.nextObject; |
| ... | ... | @@ -435,7 +439,7 @@ |
| 435 | 439 | return; |
| 436 | 440 | } |
| 437 | 441 | @weakify(self); |
| 438 | - [cache queryImageForKey:key options:options context:context completion:^(UIImage * _Nullable image, NSData * _Nullable data, SDImageCacheType cacheType) { | |
| 442 | + [cache queryImageForKey:key options:options context:context cacheType:queryCacheType completion:^(UIImage * _Nullable image, NSData * _Nullable data, SDImageCacheType cacheType) { | |
| 439 | 443 | @strongify(self); |
| 440 | 444 | if (operation.isCancelled) { |
| 441 | 445 | // Cancelled |
| ... | ... | @@ -455,7 +459,7 @@ |
| 455 | 459 | return; |
| 456 | 460 | } |
| 457 | 461 | // Next |
| 458 | - [self serialQueryImageForKey:key options:options context:context completion:completionBlock enumerator:enumerator operation:operation]; | |
| 462 | + [self serialQueryImageForKey:key options:options context:context cacheType:queryCacheType completion:completionBlock enumerator:enumerator operation:operation]; | |
| 459 | 463 | }]; |
| 460 | 464 | } |
| 461 | 465 | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/SDImageCoder.h
| ... | ... | @@ -21,12 +21,30 @@ typedef NSMutableDictionary<SDImageCoderOption, id> SDImageCoderMutableOptions; |
| 21 | 21 | @note works for `SDImageCoder`. |
| 22 | 22 | */ |
| 23 | 23 | FOUNDATION_EXPORT SDImageCoderOption _Nonnull const SDImageCoderDecodeFirstFrameOnly; |
| 24 | + | |
| 24 | 25 | /** |
| 25 | 26 | A CGFloat value which is greater than or equal to 1.0. This value specify the image scale factor for decoding. If not provide, use 1.0. (NSNumber) |
| 26 | 27 | @note works for `SDImageCoder`, `SDProgressiveImageCoder`, `SDAnimatedImageCoder`. |
| 27 | 28 | */ |
| 28 | 29 | FOUNDATION_EXPORT SDImageCoderOption _Nonnull const SDImageCoderDecodeScaleFactor; |
| 29 | 30 | |
| 31 | +/** | |
| 32 | + A Boolean value indicating whether to keep the original aspect ratio when generating thumbnail images (or bitmap images from vector format). | |
| 33 | + Defaults to YES. | |
| 34 | + @note works for `SDImageCoder`, `SDProgressiveImageCoder`, `SDAnimatedImageCoder`. | |
| 35 | + */ | |
| 36 | +FOUNDATION_EXPORT SDImageCoderOption _Nonnull const SDImageCoderDecodePreserveAspectRatio; | |
| 37 | + | |
| 38 | +/** | |
| 39 | + A CGSize value indicating whether or not to generate the thumbnail images (or bitmap images from vector format). When this value is provided, the decoder will generate a thumbnail image which pixel size is smaller than or equal to (depends the `.preserveAspectRatio`) the value size. | |
| 40 | + Defaults to CGSizeZero, which means no thumbnail generation at all. | |
| 41 | + @note Supports for animated image as well. | |
| 42 | + @note When you pass `.preserveAspectRatio == NO`, the thumbnail image is stretched to match each dimension. When `.preserveAspectRatio == YES`, the thumbnail image's width is limited to pixel size's width, the thumbnail image's height is limited to pixel size's height. For common cases, you can just pass a square size to limit both. | |
| 43 | + @note works for `SDImageCoder`, `SDProgressiveImageCoder`, `SDAnimatedImageCoder`. | |
| 44 | + */ | |
| 45 | +FOUNDATION_EXPORT SDImageCoderOption _Nonnull const SDImageCoderDecodeThumbnailPixelSize; | |
| 46 | + | |
| 47 | + | |
| 30 | 48 | // These options are for image encoding |
| 31 | 49 | /** |
| 32 | 50 | A Boolean value indicating whether to encode the first frame only for animated image during encoding. (NSNumber). If not provide, encode animated image if need. |
| ... | ... | @@ -40,12 +58,42 @@ FOUNDATION_EXPORT SDImageCoderOption _Nonnull const SDImageCoderEncodeFirstFrame |
| 40 | 58 | FOUNDATION_EXPORT SDImageCoderOption _Nonnull const SDImageCoderEncodeCompressionQuality; |
| 41 | 59 | |
| 42 | 60 | /** |
| 61 | + A UIColor(NSColor) value to used for non-alpha image encoding when the input image has alpha channel, the background color will be used to compose the alpha one. If not provide, use white color. | |
| 62 | + @note works for `SDImageCoder` | |
| 63 | + */ | |
| 64 | +FOUNDATION_EXPORT SDImageCoderOption _Nonnull const SDImageCoderEncodeBackgroundColor; | |
| 65 | + | |
| 66 | +/** | |
| 67 | + A CGSize value indicating the max image resolution in pixels during encoding. For vector image, this also effect the output vector data information about width and height. The encoder will not generate the encoded image larger than this limit. Note it always use the aspect ratio of input image.. | |
| 68 | + Defaults to CGSizeZero, which means no max size limit at all. | |
| 69 | + @note Supports for animated image as well. | |
| 70 | + @note The output image's width is limited to pixel size's width, the output image's height is limited to pixel size's height. For common cases, you can just pass a square size to limit both. | |
| 71 | + @note works for `SDImageCoder` | |
| 72 | + */ | |
| 73 | +FOUNDATION_EXPORT SDImageCoderOption _Nonnull const SDImageCoderEncodeMaxPixelSize; | |
| 74 | + | |
| 75 | +/** | |
| 76 | + A NSUInteger value specify the max output data bytes size after encoding. Some lossy format like JPEG/HEIF supports the hint for codec to automatically reduce the quality and match the file size you want. Note this option will override the `SDImageCoderEncodeCompressionQuality`, because now the quality is decided by the encoder. (NSNumber) | |
| 77 | + @note This is a hint, no guarantee for output size because of compression algorithm limit. And this options does not works for vector images. | |
| 78 | + @note works for `SDImageCoder` | |
| 79 | + */ | |
| 80 | +FOUNDATION_EXPORT SDImageCoderOption _Nonnull const SDImageCoderEncodeMaxFileSize; | |
| 81 | + | |
| 82 | +/** | |
| 83 | + A Boolean value indicating the encoding format should contains a thumbnail image into the output data. Only some of image format (like JPEG/HEIF/AVIF) support this behavior. The embed thumbnail will be used during next time thumbnail decoding (provided `.thumbnailPixelSize`), which is faster than full image thumbnail decoding. (NSNumber) | |
| 84 | + Defaults to NO, which does not embed any thumbnail. | |
| 85 | + @note The thumbnail image's pixel size is not defined, the encoder can choose the proper pixel size which is suitable for encoding quality. | |
| 86 | + @note works for `SDImageCoder` | |
| 87 | + */ | |
| 88 | +FOUNDATION_EXPORT SDImageCoderOption _Nonnull const SDImageCoderEncodeEmbedThumbnail; | |
| 89 | + | |
| 90 | +/** | |
| 43 | 91 | A SDWebImageContext object which hold the original context options from top-level API. (SDWebImageContext) |
| 44 | 92 | This option is ignored for all built-in coders and take no effect. |
| 45 | - But this may be useful for some custom coders, because some business logic may dependent on things other than image or image data inforamtion only. | |
| 93 | + But this may be useful for some custom coders, because some business logic may dependent on things other than image or image data information only. | |
| 46 | 94 | See `SDWebImageContext` for more detailed information. |
| 47 | 95 | */ |
| 48 | -FOUNDATION_EXPORT SDImageCoderOption _Nonnull const SDImageCoderWebImageContext; | |
| 96 | +FOUNDATION_EXPORT SDImageCoderOption _Nonnull const SDImageCoderWebImageContext API_DEPRECATED("The coder component will be seperated from Core subspec in the future. Update your code to not rely on this context option.", macos(10.10, API_TO_BE_DEPRECATED), ios(8.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED), watchos(2.0, API_TO_BE_DEPRECATED));; | |
| 49 | 97 | |
| 50 | 98 | #pragma mark - Coder |
| 51 | 99 | /** | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/SDImageCoder.m
| ... | ... | @@ -10,8 +10,14 @@ |
| 10 | 10 | |
| 11 | 11 | SDImageCoderOption const SDImageCoderDecodeFirstFrameOnly = @"decodeFirstFrameOnly"; |
| 12 | 12 | SDImageCoderOption const SDImageCoderDecodeScaleFactor = @"decodeScaleFactor"; |
| 13 | +SDImageCoderOption const SDImageCoderDecodePreserveAspectRatio = @"decodePreserveAspectRatio"; | |
| 14 | +SDImageCoderOption const SDImageCoderDecodeThumbnailPixelSize = @"decodeThumbnailPixelSize"; | |
| 13 | 15 | |
| 14 | 16 | SDImageCoderOption const SDImageCoderEncodeFirstFrameOnly = @"encodeFirstFrameOnly"; |
| 15 | 17 | SDImageCoderOption const SDImageCoderEncodeCompressionQuality = @"encodeCompressionQuality"; |
| 18 | +SDImageCoderOption const SDImageCoderEncodeBackgroundColor = @"encodeBackgroundColor"; | |
| 19 | +SDImageCoderOption const SDImageCoderEncodeMaxPixelSize = @"encodeMaxPixelSize"; | |
| 20 | +SDImageCoderOption const SDImageCoderEncodeMaxFileSize = @"encodeMaxFileSize"; | |
| 21 | +SDImageCoderOption const SDImageCoderEncodeEmbedThumbnail = @"encodeEmbedThumbnail"; | |
| 16 | 22 | |
| 17 | 23 | SDImageCoderOption const SDImageCoderWebImageContext = @"webImageContext"; | ... | ... |
Example/Pods/SDWebImage/SDWebImage/Core/SDImageCoderHelper.h
| ... | ... | @@ -74,6 +74,16 @@ |
| 74 | 74 | + (CGImageRef _Nullable)CGImageCreateDecoded:(_Nonnull CGImageRef)cgImage orientation:(CGImagePropertyOrientation)orientation CF_RETURNS_RETAINED; |
| 75 | 75 | |
| 76 | 76 | /** |
| 77 | + Create a scaled CGImage by the provided CGImage and size. This follows The Create Rule and you are response to call release after usage. | |
| 78 | + It will detect whether the image size matching the scale size, if not, stretch the image to the target size. | |
| 79 | + | |
| 80 | + @param cgImage The CGImage | |
| 81 | + @param size The scale size in pixel. | |
| 82 | + @return A new created scaled image | |
| 83 | + */ | |
| 84 | ++ (CGImageRef _Nullable)CGImageCreateScaled:(_Nonnull CGImageRef)cgImage size:(CGSize)size CF_RETURNS_RETAINED; | |
| 85 | + | |
| 86 | +/** | |
| 77 | 87 | Return the decoded image by the provided image. This one unlike `CGImageCreateDecoded:`, will not decode the image which contains alpha channel or animated image |
| 78 | 88 | @param image The image to be decoded |
| 79 | 89 | @return The decoded image |
| ... | ... | @@ -89,6 +99,12 @@ |
| 89 | 99 | */ |
| 90 | 100 | + (UIImage * _Nullable)decodedAndScaledDownImageWithImage:(UIImage * _Nullable)image limitBytes:(NSUInteger)bytes; |
| 91 | 101 | |
| 102 | +/** | |
| 103 | + Control the default limit bytes to scale down largest images. | |
| 104 | + This value must be larger than or equal to 1MB. Defaults to 60MB on iOS/tvOS, 90MB on macOS, 30MB on watchOS. | |
| 105 | + */ | |
| 106 | +@property (class, readwrite) NSUInteger defaultScaleDownLimitBytes; | |
| 107 | + | |
| 92 | 108 | #if SD_UIKIT || SD_WATCH |
| 93 | 109 | /** |
| 94 | 110 | Convert an EXIF image orientation to an iOS one. | ... | ... |