OSX compatibility and target. (NSImage+WebCache) for UIImage compatibility
Clarified and simplified the usage of TARGET_OS_* macros. Added SD_MAC, SD_UIKIT, SD_IOS, SD_TV, SD_WATCH. Updated Travis CI
This commit is contained in:
parent
b8e210dae9
commit
4c6eb5e72e
|
@ -30,6 +30,7 @@ script:
|
|||
- xcodebuild clean build -workspace SDWebImage.xcworkspace -scheme 'SDWebImage-static' -sdk iphonesimulator PLATFORM_NAME=iphonesimulator -configuration Debug | xcpretty -c
|
||||
|
||||
- echo Build as dynamic framework
|
||||
- xcodebuild clean build -workspace SDWebImage.xcworkspace -scheme 'SDWebImage OSX' -sdk macosx -configuration Debug | xcpretty -c
|
||||
- xcodebuild clean build -workspace SDWebImage.xcworkspace -scheme 'SDWebImage iOS' -sdk iphonesimulator PLATFORM_NAME=iphonesimulator -configuration Debug | xcpretty -c
|
||||
- xcodebuild clean build -workspace SDWebImage.xcworkspace -scheme 'SDWebImage tvOS' -sdk appletvsimulator -configuration Debug | xcpretty -c
|
||||
- xcodebuild clean build -workspace SDWebImage.xcworkspace -scheme 'SDWebImage watchOS' -sdk watchsimulator -configuration Debug | xcpretty -c
|
||||
|
|
|
@ -269,7 +269,6 @@
|
|||
4317395B1CDFC8B70008FEB9 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CCA1998E60B007367ED /* types.h */; };
|
||||
431BB68C1D06D2C1006A3455 /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 530E49E416460AE2002868E7 /* SDWebImageDownloaderOperation.m */; };
|
||||
431BB68E1D06D2C1006A3455 /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D92148C56230056699D /* SDWebImagePrefetcher.m */; };
|
||||
431BB6901D06D2C1006A3455 /* FLAnimatedImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 43CE75CF1CFE98E0006C64D0 /* FLAnimatedImageView+WebCache.m */; };
|
||||
431BB6921D06D2C1006A3455 /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D5B9141188EE8DD006D06BD /* NSData+ImageContentType.m */; };
|
||||
431BB69A1D06D2C1006A3455 /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D8C148C56230056699D /* SDWebImageDownloader.m */; };
|
||||
431BB6A31D06D2C1006A3455 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D96148C56230056699D /* UIImageView+WebCache.m */; };
|
||||
|
@ -286,7 +285,6 @@
|
|||
431BB6D71D06D2C1006A3455 /* UIImage+WebP.h in Headers */ = {isa = PBXBuildFile; fileRef = 53EDFB911762547C00698166 /* UIImage+WebP.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
431BB6D91D06D2C1006A3455 /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D8E148C56230056699D /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
431BB6DC1D06D2C1006A3455 /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D93148C56230056699D /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
431BB6DF1D06D2C1006A3455 /* FLAnimatedImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 43CE75CE1CFE98E0006C64D0 /* FLAnimatedImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
431BB6E11D06D2C1006A3455 /* SDWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A2CAE031AB4BB5400B6BC39 /* SDWebImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
431BB6E21D06D2C1006A3455 /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = ABBE71A518C43B4D00B75E91 /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
431BB6E31D06D2C1006A3455 /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D85148C56230056699D /* SDImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
|
@ -305,6 +303,120 @@
|
|||
438096731CDFC08F00DC626B /* MKAnnotationView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 535699B515113E7300A4C397 /* MKAnnotationView+WebCache.m */; };
|
||||
438096741CDFC09C00DC626B /* UIImage+WebP.h in Headers */ = {isa = PBXBuildFile; fileRef = 53EDFB911762547C00698166 /* UIImage+WebP.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
438096751CDFC0A100DC626B /* UIImage+WebP.m in Sources */ = {isa = PBXBuildFile; fileRef = 53EDFB921762547C00698166 /* UIImage+WebP.m */; };
|
||||
4397D2781D0DDD8C00BB2784 /* dec.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C681998E60B007367ED /* dec.c */; };
|
||||
4397D2791D0DDD8C00BB2784 /* huffman.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577CB21998E60B007367ED /* huffman.c */; };
|
||||
4397D27A1D0DDD8C00BB2784 /* quant_levels.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577CB71998E60B007367ED /* quant_levels.c */; };
|
||||
4397D27B1D0DDD8C00BB2784 /* idec.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577D601998E6B2007367ED /* idec.c */; };
|
||||
4397D27C1D0DDD8C00BB2784 /* random.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577CBB1998E60B007367ED /* random.c */; };
|
||||
4397D27D1D0DDD8C00BB2784 /* alpha_processing_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = DAC075D01A08CB9C002E5D32 /* alpha_processing_sse2.c */; };
|
||||
4397D27E1D0DDD8C00BB2784 /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = A18A6CC6172DC28500419892 /* UIImage+GIF.m */; };
|
||||
4397D27F1D0DDD8C00BB2784 /* UIImage+WebP.m in Sources */ = {isa = PBXBuildFile; fileRef = 53EDFB921762547C00698166 /* UIImage+WebP.m */; };
|
||||
4397D2801D0DDD8C00BB2784 /* enc_avx2.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C6F1998E60B007367ED /* enc_avx2.c */; };
|
||||
4397D2821D0DDD8C00BB2784 /* rescaler.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577CBD1998E60B007367ED /* rescaler.c */; };
|
||||
4397D2831D0DDD8C00BB2784 /* dec_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C6C1998E60B007367ED /* dec_sse2.c */; };
|
||||
4397D2841D0DDD8C00BB2784 /* upsampling_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C7B1998E60B007367ED /* upsampling_neon.c */; };
|
||||
4397D2851D0DDD8C00BB2784 /* quant.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577D631998E6B2007367ED /* quant.c */; };
|
||||
4397D2861D0DDD8C00BB2784 /* dec_mips32.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C6A1998E60B007367ED /* dec_mips32.c */; };
|
||||
4397D2871D0DDD8C00BB2784 /* alpha_processing.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C661998E60B007367ED /* alpha_processing.c */; };
|
||||
4397D2881D0DDD8C00BB2784 /* lossless_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C771998E60B007367ED /* lossless_sse2.c */; };
|
||||
4397D2891D0DDD8C00BB2784 /* enc_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C721998E60B007367ED /* enc_sse2.c */; };
|
||||
4397D28A1D0DDD8C00BB2784 /* thread.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577CBF1998E60B007367ED /* thread.c */; };
|
||||
4397D28C1D0DDD8C00BB2784 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D96148C56230056699D /* UIImageView+WebCache.m */; };
|
||||
4397D28D1D0DDD8C00BB2784 /* filters.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577CB01998E60B007367ED /* filters.c */; };
|
||||
4397D28E1D0DDD8C00BB2784 /* yuv_mips32.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C7F1998E60B007367ED /* yuv_mips32.c */; };
|
||||
4397D28F1D0DDD8C00BB2784 /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 530E49E416460AE2002868E7 /* SDWebImageDownloaderOperation.m */; };
|
||||
4397D2901D0DDD8C00BB2784 /* tree.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577D641998E6B2007367ED /* tree.c */; };
|
||||
4397D2911D0DDD8C00BB2784 /* MKAnnotationView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 535699B515113E7300A4C397 /* MKAnnotationView+WebCache.m */; };
|
||||
4397D2921D0DDD8C00BB2784 /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D92148C56230056699D /* SDWebImagePrefetcher.m */; };
|
||||
4397D2931D0DDD8C00BB2784 /* yuv_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C801998E60B007367ED /* yuv_sse2.c */; };
|
||||
4397D2941D0DDD8C00BB2784 /* color_cache.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577CAD1998E60B007367ED /* color_cache.c */; };
|
||||
4397D2951D0DDD8C00BB2784 /* lossless_mips32.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C751998E60B007367ED /* lossless_mips32.c */; };
|
||||
4397D2961D0DDD8C00BB2784 /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 53EDFB8917623F7C00698166 /* UIImage+MultiFormat.m */; };
|
||||
4397D2971D0DDD8C00BB2784 /* enc_mips32.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C701998E60B007367ED /* enc_mips32.c */; };
|
||||
4397D2981D0DDD8C00BB2784 /* quant_levels_dec.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577CB91998E60B007367ED /* quant_levels_dec.c */; };
|
||||
4397D2991D0DDD8C00BB2784 /* vp8l.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577D671998E6B2007367ED /* vp8l.c */; };
|
||||
4397D29A1D0DDD8C00BB2784 /* cpu.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C671998E60B007367ED /* cpu.c */; };
|
||||
4397D29B1D0DDD8C00BB2784 /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D8C148C56230056699D /* SDWebImageDownloader.m */; };
|
||||
4397D29C1D0DDD8C00BB2784 /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D5B9141188EE8DD006D06BD /* NSData+ImageContentType.m */; };
|
||||
4397D29D1D0DDD8C00BB2784 /* webp.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577D691998E6B2007367ED /* webp.c */; };
|
||||
4397D29E1D0DDD8C00BB2784 /* yuv.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C7D1998E60B007367ED /* yuv.c */; };
|
||||
4397D29F1D0DDD8C00BB2784 /* bit_writer.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577CAB1998E60B007367ED /* bit_writer.c */; };
|
||||
4397D2A01D0DDD8C00BB2784 /* vp8.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577D651998E6B2007367ED /* vp8.c */; };
|
||||
4397D2A11D0DDD8C00BB2784 /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D8F148C56230056699D /* SDWebImageManager.m */; };
|
||||
4397D2A21D0DDD8C00BB2784 /* enc_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C711998E60B007367ED /* enc_neon.c */; };
|
||||
4397D2A31D0DDD8C00BB2784 /* lossless_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C761998E60B007367ED /* lossless_neon.c */; };
|
||||
4397D2A41D0DDD8C00BB2784 /* dec_clip_tables.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C691998E60B007367ED /* dec_clip_tables.c */; };
|
||||
4397D2A51D0DDD8C00BB2784 /* lossless.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C731998E60B007367ED /* lossless.c */; };
|
||||
4397D2A61D0DDD8C00BB2784 /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = 5340674F167780C40042B59E /* SDWebImageCompat.m */; };
|
||||
4397D2A71D0DDD8C00BB2784 /* huffman_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577CB41998E60B007367ED /* huffman_encode.c */; };
|
||||
4397D2A81D0DDD8C00BB2784 /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D94148C56230056699D /* UIButton+WebCache.m */; };
|
||||
4397D2A91D0DDD8C00BB2784 /* upsampling.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C7A1998E60B007367ED /* upsampling.c */; };
|
||||
4397D2AA1D0DDD8C00BB2784 /* io.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577D611998E6B2007367ED /* io.c */; };
|
||||
4397D2AB1D0DDD8C00BB2784 /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = AB615302192DA24600A2D8E9 /* UIView+WebCacheOperation.m */; };
|
||||
4397D2AC1D0DDD8C00BB2784 /* buffer.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577D5D1998E6B2007367ED /* buffer.c */; };
|
||||
4397D2AD1D0DDD8C00BB2784 /* SDWebImageDecoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D8A148C56230056699D /* SDWebImageDecoder.m */; };
|
||||
4397D2AE1D0DDD8C00BB2784 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = ABBE71A618C43B4D00B75E91 /* UIImageView+HighlightedWebCache.m */; };
|
||||
4397D2AF1D0DDD8C00BB2784 /* upsampling_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C7C1998E60B007367ED /* upsampling_sse2.c */; };
|
||||
4397D2B01D0DDD8C00BB2784 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 53922D86148C56230056699D /* SDImageCache.m */; };
|
||||
4397D2B21D0DDD8C00BB2784 /* frame.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577D5F1998E6B2007367ED /* frame.c */; };
|
||||
4397D2B31D0DDD8C00BB2784 /* bit_reader.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577CA81998E60B007367ED /* bit_reader.c */; };
|
||||
4397D2B41D0DDD8C00BB2784 /* dec_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C6B1998E60B007367ED /* dec_neon.c */; };
|
||||
4397D2B51D0DDD8C00BB2784 /* alpha.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577D5B1998E6B2007367ED /* alpha.c */; };
|
||||
4397D2B61D0DDD8C00BB2784 /* enc.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577C6E1998E60B007367ED /* enc.c */; };
|
||||
4397D2B71D0DDD8C00BB2784 /* utils.c in Sources */ = {isa = PBXBuildFile; fileRef = DA577CC11998E60B007367ED /* utils.c */; };
|
||||
4397D2BA1D0DDD8C00BB2784 /* demux.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CC51998E60B007367ED /* demux.h */; };
|
||||
4397D2BB1D0DDD8C00BB2784 /* endian_inl.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CAF1998E60B007367ED /* endian_inl.h */; };
|
||||
4397D2BD1D0DDD8C00BB2784 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CCA1998E60B007367ED /* types.h */; };
|
||||
4397D2BE1D0DDD8C00BB2784 /* neon.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577C791998E60B007367ED /* neon.h */; };
|
||||
4397D2BF1D0DDD8C00BB2784 /* alphai.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577D5C1998E6B2007367ED /* alphai.h */; };
|
||||
4397D2C01D0DDD8C00BB2784 /* SDWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A2CAE031AB4BB5400B6BC39 /* SDWebImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2C11D0DDD8C00BB2784 /* format_constants.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CC71998E60B007367ED /* format_constants.h */; };
|
||||
4397D2C21D0DDD8C00BB2784 /* filters.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CB11998E60B007367ED /* filters.h */; };
|
||||
4397D2C31D0DDD8C00BB2784 /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D8E148C56230056699D /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2C41D0DDD8C00BB2784 /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D85148C56230056699D /* SDImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2C51D0DDD8C00BB2784 /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D95148C56230056699D /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2C61D0DDD8C00BB2784 /* random.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CBC1998E60B007367ED /* random.h */; };
|
||||
4397D2C71D0DDD8C00BB2784 /* rescaler.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CBE1998E60B007367ED /* rescaler.h */; };
|
||||
4397D2C81D0DDD8C00BB2784 /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D88148C56230056699D /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2C91D0DDD8C00BB2784 /* bit_reader.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CA91998E60B007367ED /* bit_reader.h */; };
|
||||
4397D2CB1D0DDD8C00BB2784 /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = ABBE71A518C43B4D00B75E91 /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2CC1D0DDD8C00BB2784 /* mux.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CC81998E60B007367ED /* mux.h */; };
|
||||
4397D2CD1D0DDD8C00BB2784 /* lossless.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577C741998E60B007367ED /* lossless.h */; };
|
||||
4397D2CE1D0DDD8C00BB2784 /* huffman_encode.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CB51998E60B007367ED /* huffman_encode.h */; };
|
||||
4397D2CF1D0DDD8C00BB2784 /* yuv.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577C7E1998E60B007367ED /* yuv.h */; };
|
||||
4397D2D01D0DDD8C00BB2784 /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 530E49E316460AE2002868E7 /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2D11D0DDD8C00BB2784 /* decode.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CC41998E60B007367ED /* decode.h */; };
|
||||
4397D2D21D0DDD8C00BB2784 /* webpi.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577D6A1998E6B2007367ED /* webpi.h */; };
|
||||
4397D2D31D0DDD8C00BB2784 /* thread.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CC01998E60B007367ED /* thread.h */; };
|
||||
4397D2D41D0DDD8C00BB2784 /* quant_levels.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CB81998E60B007367ED /* quant_levels.h */; };
|
||||
4397D2D51D0DDD8C00BB2784 /* bit_reader_inl.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CAA1998E60B007367ED /* bit_reader_inl.h */; };
|
||||
4397D2D61D0DDD8C00BB2784 /* quant_levels_dec.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CBA1998E60B007367ED /* quant_levels_dec.h */; };
|
||||
4397D2D81D0DDD8C00BB2784 /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D93148C56230056699D /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2D91D0DDD8C00BB2784 /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D91148C56230056699D /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2DA1D0DDD8C00BB2784 /* UIView+WebCacheOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = AB615301192DA24600A2D8E9 /* UIView+WebCacheOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2DB1D0DDD8C00BB2784 /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 53EDFB8817623F7C00698166 /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2DC1D0DDD8C00BB2784 /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 530E49E71646388E002868E7 /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2DD1D0DDD8C00BB2784 /* vp8i.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577D661998E6B2007367ED /* vp8i.h */; };
|
||||
4397D2DE1D0DDD8C00BB2784 /* vp8li.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577D681998E6B2007367ED /* vp8li.h */; };
|
||||
4397D2DF1D0DDD8C00BB2784 /* color_cache.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CAE1998E60B007367ED /* color_cache.h */; };
|
||||
4397D2E01D0DDD8C00BB2784 /* utils.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CC21998E60B007367ED /* utils.h */; };
|
||||
4397D2E11D0DDD8C00BB2784 /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D8B148C56230056699D /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2E21D0DDD8C00BB2784 /* huffman.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CB31998E60B007367ED /* huffman.h */; };
|
||||
4397D2E31D0DDD8C00BB2784 /* MKAnnotationView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 535699B415113E7300A4C397 /* MKAnnotationView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2E41D0DDD8C00BB2784 /* yuv_tables_sse2.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577C811998E60B007367ED /* yuv_tables_sse2.h */; };
|
||||
4397D2E51D0DDD8C00BB2784 /* bit_writer.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CAC1998E60B007367ED /* bit_writer.h */; };
|
||||
4397D2E61D0DDD8C00BB2784 /* encode.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CC61998E60B007367ED /* encode.h */; };
|
||||
4397D2E71D0DDD8C00BB2784 /* dsp.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577C6D1998E60B007367ED /* dsp.h */; };
|
||||
4397D2E81D0DDD8C00BB2784 /* SDWebImageDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 53922D89148C56230056699D /* SDWebImageDecoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2E91D0DDD8C00BB2784 /* UIImage+WebP.h in Headers */ = {isa = PBXBuildFile; fileRef = 53EDFB911762547C00698166 /* UIImage+WebP.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2EA1D0DDD8C00BB2784 /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = A18A6CC5172DC28500419892 /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2EB1D0DDD8C00BB2784 /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D5B9140188EE8DD006D06BD /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2EC1D0DDD8C00BB2784 /* decode_vp8.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577D5E1998E6B2007367ED /* decode_vp8.h */; };
|
||||
4397D2ED1D0DDD8C00BB2784 /* mux_types.h in Headers */ = {isa = PBXBuildFile; fileRef = DA577CC91998E60B007367ED /* mux_types.h */; };
|
||||
4397D2F61D0DE2DF00BB2784 /* NSImage+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 4397D2F41D0DE2DF00BB2784 /* NSImage+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2F71D0DE2DF00BB2784 /* NSImage+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4397D2F51D0DE2DF00BB2784 /* NSImage+WebCache.m */; };
|
||||
4397D2F81D0DF44200BB2784 /* MKAnnotationView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 535699B415113E7300A4C397 /* MKAnnotationView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4397D2F91D0DF44A00BB2784 /* MKAnnotationView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 535699B515113E7300A4C397 /* MKAnnotationView+WebCache.m */; };
|
||||
43CE75761CFE9427006C64D0 /* FLAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 43CE75491CFE9427006C64D0 /* FLAnimatedImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
43CE75771CFE9427006C64D0 /* FLAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 43CE75491CFE9427006C64D0 /* FLAnimatedImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
43CE75781CFE9427006C64D0 /* FLAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 43CE75491CFE9427006C64D0 /* FLAnimatedImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
|
@ -394,6 +506,9 @@
|
|||
/* Begin PBXFileReference section */
|
||||
00733A4C1BC487C000A5A117 /* SDWebImage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDWebImage.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
431BB7031D06D2C1006A3455 /* SDWebImage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDWebImage.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4397D2F21D0DDD8C00BB2784 /* SDWebImage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDWebImage.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4397D2F41D0DE2DF00BB2784 /* NSImage+WebCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSImage+WebCache.h"; sourceTree = "<group>"; };
|
||||
4397D2F51D0DE2DF00BB2784 /* NSImage+WebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSImage+WebCache.m"; sourceTree = "<group>"; };
|
||||
43CE75491CFE9427006C64D0 /* FLAnimatedImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLAnimatedImage.h; sourceTree = "<group>"; };
|
||||
43CE754A1CFE9427006C64D0 /* FLAnimatedImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLAnimatedImage.m; sourceTree = "<group>"; };
|
||||
43CE754B1CFE9427006C64D0 /* FLAnimatedImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLAnimatedImageView.h; sourceTree = "<group>"; };
|
||||
|
@ -533,6 +648,13 @@
|
|||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4397D2B81D0DDD8C00BB2784 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4A2CADFB1AB4BB5300B6BC39 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
|
@ -617,6 +739,7 @@
|
|||
4A2CADFF1AB4BB5300B6BC39 /* SDWebImage.framework */,
|
||||
00733A4C1BC487C000A5A117 /* SDWebImage.framework */,
|
||||
431BB7031D06D2C1006A3455 /* SDWebImage.framework */,
|
||||
4397D2F21D0DDD8C00BB2784 /* SDWebImage.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
|
@ -669,6 +792,8 @@
|
|||
53922D96148C56230056699D /* UIImageView+WebCache.m */,
|
||||
AB615301192DA24600A2D8E9 /* UIView+WebCacheOperation.h */,
|
||||
AB615302192DA24600A2D8E9 /* UIView+WebCacheOperation.m */,
|
||||
4397D2F41D0DE2DF00BB2784 /* NSImage+WebCache.h */,
|
||||
4397D2F51D0DE2DF00BB2784 /* NSImage+WebCache.m */,
|
||||
);
|
||||
name = Categories;
|
||||
sourceTree = "<group>";
|
||||
|
@ -841,6 +966,7 @@
|
|||
431739561CDFC8B70008FEB9 /* demux.h in Headers */,
|
||||
431739111CDFC8AA0008FEB9 /* neon.h in Headers */,
|
||||
4317394D1CDFC8B20008FEB9 /* utils.h in Headers */,
|
||||
4397D2F81D0DF44200BB2784 /* MKAnnotationView+WebCache.h in Headers */,
|
||||
431739451CDFC8B20008FEB9 /* quant_levels_dec.h in Headers */,
|
||||
431739361CDFC8B20008FEB9 /* bit_reader_inl.h in Headers */,
|
||||
4317390D1CDFC8AA0008FEB9 /* lossless.h in Headers */,
|
||||
|
@ -898,7 +1024,6 @@
|
|||
431BB6D71D06D2C1006A3455 /* UIImage+WebP.h in Headers */,
|
||||
431BB6D91D06D2C1006A3455 /* SDWebImageManager.h in Headers */,
|
||||
431BB6DC1D06D2C1006A3455 /* UIButton+WebCache.h in Headers */,
|
||||
431BB6DF1D06D2C1006A3455 /* FLAnimatedImageView+WebCache.h in Headers */,
|
||||
431BB6E11D06D2C1006A3455 /* SDWebImage.h in Headers */,
|
||||
431BB6E21D06D2C1006A3455 /* UIImageView+HighlightedWebCache.h in Headers */,
|
||||
431BB6E31D06D2C1006A3455 /* SDImageCache.h in Headers */,
|
||||
|
@ -916,6 +1041,63 @@
|
|||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4397D2B91D0DDD8C00BB2784 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4397D2BA1D0DDD8C00BB2784 /* demux.h in Headers */,
|
||||
4397D2BB1D0DDD8C00BB2784 /* endian_inl.h in Headers */,
|
||||
4397D2BD1D0DDD8C00BB2784 /* types.h in Headers */,
|
||||
4397D2BE1D0DDD8C00BB2784 /* neon.h in Headers */,
|
||||
4397D2BF1D0DDD8C00BB2784 /* alphai.h in Headers */,
|
||||
4397D2C01D0DDD8C00BB2784 /* SDWebImage.h in Headers */,
|
||||
4397D2C11D0DDD8C00BB2784 /* format_constants.h in Headers */,
|
||||
4397D2C21D0DDD8C00BB2784 /* filters.h in Headers */,
|
||||
4397D2C31D0DDD8C00BB2784 /* SDWebImageManager.h in Headers */,
|
||||
4397D2C41D0DDD8C00BB2784 /* SDImageCache.h in Headers */,
|
||||
4397D2C51D0DDD8C00BB2784 /* UIImageView+WebCache.h in Headers */,
|
||||
4397D2C61D0DDD8C00BB2784 /* random.h in Headers */,
|
||||
4397D2C71D0DDD8C00BB2784 /* rescaler.h in Headers */,
|
||||
4397D2C81D0DDD8C00BB2784 /* SDWebImageCompat.h in Headers */,
|
||||
4397D2C91D0DDD8C00BB2784 /* bit_reader.h in Headers */,
|
||||
4397D2CB1D0DDD8C00BB2784 /* UIImageView+HighlightedWebCache.h in Headers */,
|
||||
4397D2CC1D0DDD8C00BB2784 /* mux.h in Headers */,
|
||||
4397D2CD1D0DDD8C00BB2784 /* lossless.h in Headers */,
|
||||
4397D2CE1D0DDD8C00BB2784 /* huffman_encode.h in Headers */,
|
||||
4397D2CF1D0DDD8C00BB2784 /* yuv.h in Headers */,
|
||||
4397D2D01D0DDD8C00BB2784 /* SDWebImageDownloaderOperation.h in Headers */,
|
||||
4397D2D11D0DDD8C00BB2784 /* decode.h in Headers */,
|
||||
4397D2D21D0DDD8C00BB2784 /* webpi.h in Headers */,
|
||||
4397D2D31D0DDD8C00BB2784 /* thread.h in Headers */,
|
||||
4397D2D41D0DDD8C00BB2784 /* quant_levels.h in Headers */,
|
||||
4397D2D51D0DDD8C00BB2784 /* bit_reader_inl.h in Headers */,
|
||||
4397D2D61D0DDD8C00BB2784 /* quant_levels_dec.h in Headers */,
|
||||
4397D2D81D0DDD8C00BB2784 /* UIButton+WebCache.h in Headers */,
|
||||
4397D2D91D0DDD8C00BB2784 /* SDWebImagePrefetcher.h in Headers */,
|
||||
4397D2DA1D0DDD8C00BB2784 /* UIView+WebCacheOperation.h in Headers */,
|
||||
4397D2DB1D0DDD8C00BB2784 /* UIImage+MultiFormat.h in Headers */,
|
||||
4397D2DC1D0DDD8C00BB2784 /* SDWebImageOperation.h in Headers */,
|
||||
4397D2DD1D0DDD8C00BB2784 /* vp8i.h in Headers */,
|
||||
4397D2F61D0DE2DF00BB2784 /* NSImage+WebCache.h in Headers */,
|
||||
4397D2DE1D0DDD8C00BB2784 /* vp8li.h in Headers */,
|
||||
4397D2DF1D0DDD8C00BB2784 /* color_cache.h in Headers */,
|
||||
4397D2E01D0DDD8C00BB2784 /* utils.h in Headers */,
|
||||
4397D2E11D0DDD8C00BB2784 /* SDWebImageDownloader.h in Headers */,
|
||||
4397D2E21D0DDD8C00BB2784 /* huffman.h in Headers */,
|
||||
4397D2E31D0DDD8C00BB2784 /* MKAnnotationView+WebCache.h in Headers */,
|
||||
4397D2E41D0DDD8C00BB2784 /* yuv_tables_sse2.h in Headers */,
|
||||
4397D2E51D0DDD8C00BB2784 /* bit_writer.h in Headers */,
|
||||
4397D2E61D0DDD8C00BB2784 /* encode.h in Headers */,
|
||||
4397D2E71D0DDD8C00BB2784 /* dsp.h in Headers */,
|
||||
4397D2E81D0DDD8C00BB2784 /* SDWebImageDecoder.h in Headers */,
|
||||
4397D2E91D0DDD8C00BB2784 /* UIImage+WebP.h in Headers */,
|
||||
4397D2EA1D0DDD8C00BB2784 /* UIImage+GIF.h in Headers */,
|
||||
4397D2EB1D0DDD8C00BB2784 /* NSData+ImageContentType.h in Headers */,
|
||||
4397D2EC1D0DDD8C00BB2784 /* decode_vp8.h in Headers */,
|
||||
4397D2ED1D0DDD8C00BB2784 /* mux_types.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4A2CADFC1AB4BB5300B6BC39 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
|
@ -1072,6 +1254,24 @@
|
|||
productReference = 431BB7031D06D2C1006A3455 /* SDWebImage.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
4397D2761D0DDD8C00BB2784 /* SDWebImage OSX */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 4397D2EF1D0DDD8C00BB2784 /* Build configuration list for PBXNativeTarget "SDWebImage OSX" */;
|
||||
buildPhases = (
|
||||
4397D2771D0DDD8C00BB2784 /* Sources */,
|
||||
4397D2B81D0DDD8C00BB2784 /* Frameworks */,
|
||||
4397D2B91D0DDD8C00BB2784 /* Headers */,
|
||||
4397D2EE1D0DDD8C00BB2784 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "SDWebImage OSX";
|
||||
productName = WebImage;
|
||||
productReference = 4397D2F21D0DDD8C00BB2784 /* SDWebImage.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
4A2CADFE1AB4BB5300B6BC39 /* SDWebImage iOS */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 4A2CAE121AB4BB5400B6BC39 /* Build configuration list for PBXNativeTarget "SDWebImage iOS" */;
|
||||
|
@ -1141,6 +1341,7 @@
|
|||
4A2CADFE1AB4BB5300B6BC39 /* SDWebImage iOS */,
|
||||
00733A4B1BC487C000A5A117 /* SDWebImage tvOS */,
|
||||
431BB6891D06D2C1006A3455 /* SDWebImage watchOS */,
|
||||
4397D2761D0DDD8C00BB2784 /* SDWebImage OSX */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
@ -1160,6 +1361,13 @@
|
|||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4397D2EE1D0DDD8C00BB2784 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4A2CADFD1AB4BB5300B6BC39 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
|
@ -1224,6 +1432,7 @@
|
|||
431739081CDFC8AA0008FEB9 /* enc_avx2.c in Sources */,
|
||||
00733A581BC4880000A5A117 /* SDWebImageManager.m in Sources */,
|
||||
431739001CDFC8AA0008FEB9 /* cpu.c in Sources */,
|
||||
4397D2F91D0DF44A00BB2784 /* MKAnnotationView+WebCache.m in Sources */,
|
||||
00733A541BC4880000A5A117 /* SDWebImageCompat.m in Sources */,
|
||||
4317393E1CDFC8B20008FEB9 /* huffman.c in Sources */,
|
||||
431739151CDFC8AA0008FEB9 /* yuv.c in Sources */,
|
||||
|
@ -1263,7 +1472,6 @@
|
|||
files = (
|
||||
431BB68C1D06D2C1006A3455 /* SDWebImageDownloaderOperation.m in Sources */,
|
||||
431BB68E1D06D2C1006A3455 /* SDWebImagePrefetcher.m in Sources */,
|
||||
431BB6901D06D2C1006A3455 /* FLAnimatedImageView+WebCache.m in Sources */,
|
||||
431BB6921D06D2C1006A3455 /* NSData+ImageContentType.m in Sources */,
|
||||
431BB69A1D06D2C1006A3455 /* SDWebImageDownloader.m in Sources */,
|
||||
431BB6A31D06D2C1006A3455 /* UIImageView+WebCache.m in Sources */,
|
||||
|
@ -1280,6 +1488,75 @@
|
|||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4397D2771D0DDD8C00BB2784 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4397D2781D0DDD8C00BB2784 /* dec.c in Sources */,
|
||||
4397D2791D0DDD8C00BB2784 /* huffman.c in Sources */,
|
||||
4397D27A1D0DDD8C00BB2784 /* quant_levels.c in Sources */,
|
||||
4397D27B1D0DDD8C00BB2784 /* idec.c in Sources */,
|
||||
4397D27C1D0DDD8C00BB2784 /* random.c in Sources */,
|
||||
4397D27D1D0DDD8C00BB2784 /* alpha_processing_sse2.c in Sources */,
|
||||
4397D27E1D0DDD8C00BB2784 /* UIImage+GIF.m in Sources */,
|
||||
4397D27F1D0DDD8C00BB2784 /* UIImage+WebP.m in Sources */,
|
||||
4397D2F71D0DE2DF00BB2784 /* NSImage+WebCache.m in Sources */,
|
||||
4397D2801D0DDD8C00BB2784 /* enc_avx2.c in Sources */,
|
||||
4397D2821D0DDD8C00BB2784 /* rescaler.c in Sources */,
|
||||
4397D2831D0DDD8C00BB2784 /* dec_sse2.c in Sources */,
|
||||
4397D2841D0DDD8C00BB2784 /* upsampling_neon.c in Sources */,
|
||||
4397D2851D0DDD8C00BB2784 /* quant.c in Sources */,
|
||||
4397D2861D0DDD8C00BB2784 /* dec_mips32.c in Sources */,
|
||||
4397D2871D0DDD8C00BB2784 /* alpha_processing.c in Sources */,
|
||||
4397D2881D0DDD8C00BB2784 /* lossless_sse2.c in Sources */,
|
||||
4397D2891D0DDD8C00BB2784 /* enc_sse2.c in Sources */,
|
||||
4397D28A1D0DDD8C00BB2784 /* thread.c in Sources */,
|
||||
4397D28C1D0DDD8C00BB2784 /* UIImageView+WebCache.m in Sources */,
|
||||
4397D28D1D0DDD8C00BB2784 /* filters.c in Sources */,
|
||||
4397D28E1D0DDD8C00BB2784 /* yuv_mips32.c in Sources */,
|
||||
4397D28F1D0DDD8C00BB2784 /* SDWebImageDownloaderOperation.m in Sources */,
|
||||
4397D2901D0DDD8C00BB2784 /* tree.c in Sources */,
|
||||
4397D2911D0DDD8C00BB2784 /* MKAnnotationView+WebCache.m in Sources */,
|
||||
4397D2921D0DDD8C00BB2784 /* SDWebImagePrefetcher.m in Sources */,
|
||||
4397D2931D0DDD8C00BB2784 /* yuv_sse2.c in Sources */,
|
||||
4397D2941D0DDD8C00BB2784 /* color_cache.c in Sources */,
|
||||
4397D2951D0DDD8C00BB2784 /* lossless_mips32.c in Sources */,
|
||||
4397D2961D0DDD8C00BB2784 /* UIImage+MultiFormat.m in Sources */,
|
||||
4397D2971D0DDD8C00BB2784 /* enc_mips32.c in Sources */,
|
||||
4397D2981D0DDD8C00BB2784 /* quant_levels_dec.c in Sources */,
|
||||
4397D2991D0DDD8C00BB2784 /* vp8l.c in Sources */,
|
||||
4397D29A1D0DDD8C00BB2784 /* cpu.c in Sources */,
|
||||
4397D29B1D0DDD8C00BB2784 /* SDWebImageDownloader.m in Sources */,
|
||||
4397D29C1D0DDD8C00BB2784 /* NSData+ImageContentType.m in Sources */,
|
||||
4397D29D1D0DDD8C00BB2784 /* webp.c in Sources */,
|
||||
4397D29E1D0DDD8C00BB2784 /* yuv.c in Sources */,
|
||||
4397D29F1D0DDD8C00BB2784 /* bit_writer.c in Sources */,
|
||||
4397D2A01D0DDD8C00BB2784 /* vp8.c in Sources */,
|
||||
4397D2A11D0DDD8C00BB2784 /* SDWebImageManager.m in Sources */,
|
||||
4397D2A21D0DDD8C00BB2784 /* enc_neon.c in Sources */,
|
||||
4397D2A31D0DDD8C00BB2784 /* lossless_neon.c in Sources */,
|
||||
4397D2A41D0DDD8C00BB2784 /* dec_clip_tables.c in Sources */,
|
||||
4397D2A51D0DDD8C00BB2784 /* lossless.c in Sources */,
|
||||
4397D2A61D0DDD8C00BB2784 /* SDWebImageCompat.m in Sources */,
|
||||
4397D2A71D0DDD8C00BB2784 /* huffman_encode.c in Sources */,
|
||||
4397D2A81D0DDD8C00BB2784 /* UIButton+WebCache.m in Sources */,
|
||||
4397D2A91D0DDD8C00BB2784 /* upsampling.c in Sources */,
|
||||
4397D2AA1D0DDD8C00BB2784 /* io.c in Sources */,
|
||||
4397D2AB1D0DDD8C00BB2784 /* UIView+WebCacheOperation.m in Sources */,
|
||||
4397D2AC1D0DDD8C00BB2784 /* buffer.c in Sources */,
|
||||
4397D2AD1D0DDD8C00BB2784 /* SDWebImageDecoder.m in Sources */,
|
||||
4397D2AE1D0DDD8C00BB2784 /* UIImageView+HighlightedWebCache.m in Sources */,
|
||||
4397D2AF1D0DDD8C00BB2784 /* upsampling_sse2.c in Sources */,
|
||||
4397D2B01D0DDD8C00BB2784 /* SDImageCache.m in Sources */,
|
||||
4397D2B21D0DDD8C00BB2784 /* frame.c in Sources */,
|
||||
4397D2B31D0DDD8C00BB2784 /* bit_reader.c in Sources */,
|
||||
4397D2B41D0DDD8C00BB2784 /* dec_neon.c in Sources */,
|
||||
4397D2B51D0DDD8C00BB2784 /* alpha.c in Sources */,
|
||||
4397D2B61D0DDD8C00BB2784 /* enc.c in Sources */,
|
||||
4397D2B71D0DDD8C00BB2784 /* utils.c in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4A2CADFA1AB4BB5300B6BC39 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
|
@ -1533,6 +1810,46 @@
|
|||
};
|
||||
name = Release;
|
||||
};
|
||||
4397D2F01D0DDD8C00BB2784 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
|
||||
INFOPLIST_FILE = WebImage/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.7;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.dailymotion.$(PRODUCT_NAME:rfc1034identifier).ios";
|
||||
PRODUCT_NAME = SDWebImage;
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
4397D2F11D0DDD8C00BB2784 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
INFOPLIST_FILE = WebImage/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.7;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.dailymotion.$(PRODUCT_NAME:rfc1034identifier).ios";
|
||||
PRODUCT_NAME = SDWebImage;
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
4A2CAE131AB4BB5400B6BC39 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
|
@ -1726,6 +2043,15 @@
|
|||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
4397D2EF1D0DDD8C00BB2784 /* Build configuration list for PBXNativeTarget "SDWebImage OSX" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
4397D2F01D0DDD8C00BB2784 /* Debug */,
|
||||
4397D2F11D0DDD8C00BB2784 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
4A2CAE121AB4BB5400B6BC39 /* Build configuration list for PBXNativeTarget "SDWebImage iOS" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
|
|
|
@ -0,0 +1,80 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0730"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4397D2761D0DDD8C00BB2784"
|
||||
BuildableName = "SDWebImage.framework"
|
||||
BlueprintName = "SDWebImage OSX"
|
||||
ReferencedContainer = "container:SDWebImage.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4397D2761D0DDD8C00BB2784"
|
||||
BuildableName = "SDWebImage.framework"
|
||||
BlueprintName = "SDWebImage OSX"
|
||||
ReferencedContainer = "container:SDWebImage.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4397D2761D0DDD8C00BB2784"
|
||||
BuildableName = "SDWebImage.framework"
|
||||
BlueprintName = "SDWebImage OSX"
|
||||
ReferencedContainer = "container:SDWebImage.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
|
@ -6,7 +6,9 @@
|
|||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
#import "SDWebImageCompat.h"
|
||||
|
||||
#if SD_UIKIT
|
||||
|
||||
#if COCOAPODS
|
||||
@import FLAnimatedImage;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
#if SD_UIKIT
|
||||
|
||||
#import "FLAnimatedImageView+WebCache.h"
|
||||
#import "objc/runtime.h"
|
||||
|
|
|
@ -6,6 +6,10 @@
|
|||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
#import "SDWebImageCompat.h"
|
||||
|
||||
#if SD_UIKIT || SD_MAC
|
||||
|
||||
#import "MapKit/MapKit.h"
|
||||
#import "SDWebImageManager.h"
|
||||
|
||||
|
@ -114,3 +118,5 @@
|
|||
- (void)sd_cancelCurrentImageLoad;
|
||||
|
||||
@end
|
||||
|
||||
#endif
|
||||
|
|
|
@ -7,6 +7,9 @@
|
|||
*/
|
||||
|
||||
#import "MKAnnotationView+WebCache.h"
|
||||
|
||||
#if SD_UIKIT || SD_MAC
|
||||
|
||||
#import "objc/runtime.h"
|
||||
#import "UIView+WebCacheOperation.h"
|
||||
|
||||
|
@ -59,11 +62,19 @@ static char imageURLKey;
|
|||
return;
|
||||
} else if (image) {
|
||||
wself.image = image;
|
||||
#if SD_UIKIT
|
||||
[wself setNeedsLayout];
|
||||
#elif SD_MAC
|
||||
[wself setNeedsLayout:YES];
|
||||
#endif
|
||||
} else {
|
||||
if ((options & SDWebImageDelayPlaceholder)) {
|
||||
wself.image = placeholder;
|
||||
#if SD_UIKIT
|
||||
[wself setNeedsLayout];
|
||||
#elif SD_MAC
|
||||
[wself setNeedsDisplay:YES];
|
||||
#endif
|
||||
}
|
||||
}
|
||||
if (completedBlock && finished) {
|
||||
|
@ -87,3 +98,5 @@ static char imageURLKey;
|
|||
}
|
||||
|
||||
@end
|
||||
|
||||
#endif
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
//
|
||||
// NSImage+WebCache.h
|
||||
// SDWebImage
|
||||
//
|
||||
// Created by Bogdan on 12/06/16.
|
||||
// Copyright © 2016 Dailymotion. All rights reserved.
|
||||
//
|
||||
|
||||
#import "SDWebImageCompat.h"
|
||||
|
||||
#if SD_MAC
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
@interface NSImage (WebCache)
|
||||
|
||||
- (NSArray<NSImage *> *)images;
|
||||
- (BOOL)isGIF;
|
||||
|
||||
@end
|
||||
|
||||
#endif
|
|
@ -0,0 +1,26 @@
|
|||
//
|
||||
// NSImage+WebCache.m
|
||||
// SDWebImage
|
||||
//
|
||||
// Created by Bogdan on 12/06/16.
|
||||
// Copyright © 2016 Dailymotion. All rights reserved.
|
||||
//
|
||||
|
||||
#import "NSImage+WebCache.h"
|
||||
|
||||
#if SD_MAC
|
||||
|
||||
@implementation NSImage (WebCache)
|
||||
|
||||
- (NSArray<NSImage *> *)images {
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (BOOL)isGIF {
|
||||
return NO;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
#endif
|
||||
|
|
@ -11,6 +11,8 @@
|
|||
#import "UIImage+MultiFormat.h"
|
||||
#import <CommonCrypto/CommonDigest.h>
|
||||
#import "UIImage+GIF.h"
|
||||
#import "NSData+ImageContentType.h"
|
||||
#import "NSImage+WebCache.h"
|
||||
|
||||
// See https://github.com/rs/SDWebImage/pull/1141 for discussion
|
||||
@interface AutoPurgeCache : NSCache
|
||||
|
@ -21,7 +23,7 @@
|
|||
- (nonnull instancetype)init {
|
||||
self = [super init];
|
||||
if (self) {
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
#if SD_UIKIT
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(removeAllObjects) name:UIApplicationDidReceiveMemoryWarningNotification object:nil];
|
||||
#endif
|
||||
}
|
||||
|
@ -29,7 +31,7 @@
|
|||
}
|
||||
|
||||
- (void)dealloc {
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
#if SD_UIKIT
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidReceiveMemoryWarningNotification object:nil];
|
||||
#endif
|
||||
}
|
||||
|
@ -55,7 +57,11 @@ BOOL ImageDataHasPNGPreffix(NSData *data) {
|
|||
}
|
||||
|
||||
FOUNDATION_STATIC_INLINE NSUInteger SDCacheCostForImage(UIImage *image) {
|
||||
#if SD_MAC
|
||||
return image.size.height * image.size.width;
|
||||
#elif SD_UIKIT || SD_WATCH
|
||||
return image.size.height * image.size.width * image.scale * image.scale;
|
||||
#endif
|
||||
}
|
||||
|
||||
@interface SDImageCache ()
|
||||
|
@ -129,7 +135,7 @@ FOUNDATION_STATIC_INLINE NSUInteger SDCacheCostForImage(UIImage *image) {
|
|||
_fileManager = [NSFileManager new];
|
||||
});
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
#if SD_UIKIT
|
||||
// Subscribe to app events
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(clearMemory)
|
||||
|
@ -214,7 +220,7 @@ FOUNDATION_STATIC_INLINE NSUInteger SDCacheCostForImage(UIImage *image) {
|
|||
NSData *data = imageData;
|
||||
|
||||
if (image && (recalculate || !data)) {
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV || TARGET_OS_WATCH
|
||||
#if SD_UIKIT || SD_WATCH
|
||||
// We need to determine if the image is a PNG or a JPEG
|
||||
// PNGs are easier to detect because they have a unique signature (http://www.w3.org/TR/PNG-Structure.html)
|
||||
// The first eight bytes of a PNG file always contain the following (decimal) values:
|
||||
|
@ -240,7 +246,17 @@ FOUNDATION_STATIC_INLINE NSUInteger SDCacheCostForImage(UIImage *image) {
|
|||
data = UIImageJPEGRepresentation(image, (CGFloat)1.0);
|
||||
}
|
||||
#else
|
||||
data = [NSBitmapImageRep representationOfImageRepsInArray:image.representations usingType: NSJPEGFileType properties:nil];
|
||||
NSString *contentType = [NSData sd_contentTypeForImageData:data];
|
||||
NSBitmapImageFileType imageFileType = NSJPEGFileType;
|
||||
if ([contentType isEqualToString:@"image/gif"]) {
|
||||
imageFileType = NSGIFFileType;
|
||||
} else if ([contentType isEqualToString:@"image/png"]) {
|
||||
imageFileType = NSPNGFileType;
|
||||
}
|
||||
|
||||
data = [NSBitmapImageRep representationOfImageRepsInArray:image.representations
|
||||
usingType:imageFileType
|
||||
properties:@{}];
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -592,7 +608,7 @@ FOUNDATION_STATIC_INLINE NSUInteger SDCacheCostForImage(UIImage *image) {
|
|||
});
|
||||
}
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
#if SD_UIKIT
|
||||
- (void)backgroundCleanDisk {
|
||||
Class UIApplicationClass = NSClassFromString(@"UIApplication");
|
||||
if(!UIApplicationClass || ![UIApplicationClass respondsToSelector:@selector(sharedApplication)]) {
|
||||
|
|
|
@ -13,11 +13,43 @@
|
|||
#error SDWebImage does not support Objective-C Garbage Collection
|
||||
#endif
|
||||
|
||||
#if __IPHONE_OS_VERSION_MIN_REQUIRED != 20000 && __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_0
|
||||
#error SDWebImage doesn't support Deployment Target version < 5.0
|
||||
// Apple's defines from TargetConditionals.h are a bit weird.
|
||||
// Seems like TARGET_OS_MAC is always defined (on all platforms).
|
||||
// To determine if we are running on OSX, we can only relly on TARGET_OS_IPHONE=0 and all the other platforms
|
||||
#if !TARGET_OS_IPHONE && !TARGET_OS_IOS && !TARGET_OS_TV && !TARGET_OS_WATCH
|
||||
#define SD_MAC 1
|
||||
#else
|
||||
#define SD_MAC 0
|
||||
#endif
|
||||
|
||||
#if !TARGET_OS_IPHONE
|
||||
// iOS and tvOS are very similar, UIKit exists on both platforms
|
||||
// Note: watchOS also has UIKit, but it's very limited
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
#define SD_UIKIT 1
|
||||
#else
|
||||
#define SD_UIKIT 0
|
||||
#endif
|
||||
|
||||
#if TARGET_OS_IOS
|
||||
#define SD_IOS 1
|
||||
#else
|
||||
#define SD_IOS 0
|
||||
#endif
|
||||
|
||||
#if TARGET_OS_TV
|
||||
#define SD_TV 1
|
||||
#else
|
||||
#define SD_TV 0
|
||||
#endif
|
||||
|
||||
#if TARGET_OS_WATCH
|
||||
#define SD_WATCH 1
|
||||
#else
|
||||
#define SD_WATCH 0
|
||||
#endif
|
||||
|
||||
|
||||
#if SD_MAC
|
||||
#import <AppKit/AppKit.h>
|
||||
#ifndef UIImage
|
||||
#define UIImage NSImage
|
||||
|
@ -25,9 +57,18 @@
|
|||
#ifndef UIImageView
|
||||
#define UIImageView NSImageView
|
||||
#endif
|
||||
#ifndef UIView
|
||||
#define UIView NSView
|
||||
#endif
|
||||
#else
|
||||
#if __IPHONE_OS_VERSION_MIN_REQUIRED != 20000 && __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_0
|
||||
#error SDWebImage doesn't support Deployment Target version < 5.0
|
||||
#endif
|
||||
|
||||
#if SD_UIKIT
|
||||
#import <UIKit/UIKit.h>
|
||||
#if TARGET_OS_WATCH
|
||||
#endif
|
||||
#if SD_WATCH
|
||||
#import <WatchKit/WatchKit.h>
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -17,6 +17,9 @@ inline UIImage *SDScaledImageForKey(NSString * _Nullable key, UIImage * _Nullabl
|
|||
return nil;
|
||||
}
|
||||
|
||||
#if SD_MAC
|
||||
return image;
|
||||
#elif SD_UIKIT || SD_WATCH
|
||||
if ((image.images).count > 0) {
|
||||
NSMutableArray<UIImage *> *scaledImages = [NSMutableArray array];
|
||||
|
||||
|
@ -27,9 +30,9 @@ inline UIImage *SDScaledImageForKey(NSString * _Nullable key, UIImage * _Nullabl
|
|||
return [UIImage animatedImageWithImages:scaledImages duration:image.duration];
|
||||
}
|
||||
else {
|
||||
#if TARGET_OS_WATCH
|
||||
#if SD_WATCH
|
||||
if ([[WKInterfaceDevice currentDevice] respondsToSelector:@selector(screenScale)]) {
|
||||
#else
|
||||
#elif SD_UIKIT
|
||||
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {
|
||||
#endif
|
||||
CGFloat scale = 1;
|
||||
|
@ -50,6 +53,7 @@ inline UIImage *SDScaledImageForKey(NSString * _Nullable key, UIImage * _Nullabl
|
|||
}
|
||||
return image;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
NSString *const SDWebImageErrorDomain = @"SDWebImageErrorDomain";
|
||||
|
|
|
@ -23,6 +23,9 @@
|
|||
return nil;
|
||||
}
|
||||
|
||||
#if SD_MAC
|
||||
return image;
|
||||
#elif SD_UIKIT || SD_WATCH
|
||||
@autoreleasepool{
|
||||
// do not decode animated images
|
||||
if (image.images != nil) {
|
||||
|
@ -86,6 +89,7 @@
|
|||
|
||||
return imageWithoutAlpha;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#import "UIImage+MultiFormat.h"
|
||||
#import <ImageIO/ImageIO.h>
|
||||
#import "SDWebImageManager.h"
|
||||
#import "NSImage+WebCache.h"
|
||||
|
||||
NSString *const SDWebImageDownloadStartNotification = @"SDWebImageDownloadStartNotification";
|
||||
NSString *const SDWebImageDownloadReceiveResponseNotification = @"SDWebImageDownloadReceiveResponseNotification";
|
||||
|
@ -41,7 +42,7 @@ typedef NSMutableDictionary<NSString *, id> SDCallbacksDictionary;
|
|||
@property (strong, atomic, nullable) NSThread *thread;
|
||||
@property (SDDispatchQueueSetterSementics, nonatomic, nullable) dispatch_queue_t barrierQueue;
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
#if SD_UIKIT
|
||||
@property (assign, nonatomic) UIBackgroundTaskIdentifier backgroundTaskId;
|
||||
#endif
|
||||
|
||||
|
@ -49,7 +50,9 @@ typedef NSMutableDictionary<NSString *, id> SDCallbacksDictionary;
|
|||
|
||||
@implementation SDWebImageDownloaderOperation {
|
||||
size_t width, height;
|
||||
#if SD_UIKIT || SD_WATCH
|
||||
UIImageOrientation orientation;
|
||||
#endif
|
||||
BOOL responseFromCached;
|
||||
}
|
||||
|
||||
|
@ -125,7 +128,7 @@ typedef NSMutableDictionary<NSString *, id> SDCallbacksDictionary;
|
|||
return;
|
||||
}
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
#if SD_UIKIT
|
||||
Class UIApplicationClass = NSClassFromString(@"UIApplication");
|
||||
BOOL hasApplication = UIApplicationClass && [UIApplicationClass respondsToSelector:@selector(sharedApplication)];
|
||||
if (hasApplication && [self shouldContinueWhenAppEntersBackground]) {
|
||||
|
@ -179,7 +182,7 @@ typedef NSMutableDictionary<NSString *, id> SDCallbacksDictionary;
|
|||
}
|
||||
}
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
#if SD_UIKIT
|
||||
Class UIApplicationClass = NSClassFromString(@"UIApplication");
|
||||
if(!UIApplicationClass || ![UIApplicationClass respondsToSelector:@selector(sharedApplication)]) {
|
||||
return;
|
||||
|
@ -337,7 +340,9 @@ didReceiveResponse:(NSURLResponse *)response
|
|||
// which means the image below born of initWithCGIImage will be
|
||||
// oriented incorrectly sometimes. (Unlike the image born of initWithData
|
||||
// in didCompleteWithError.) So save it here and pass it on later.
|
||||
#if SD_UIKIT || SD_WATCH
|
||||
orientation = [[self class] orientationFromPropertyValue:(orientationValue == -1 ? 1 : orientationValue)];
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -345,7 +350,7 @@ didReceiveResponse:(NSURLResponse *)response
|
|||
// Create the image
|
||||
CGImageRef partialImageRef = CGImageSourceCreateImageAtIndex(imageSource, 0, NULL);
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV || TARGET_OS_WATCH
|
||||
#if SD_UIKIT || SD_WATCH
|
||||
// Workaround for iOS anamorphic image
|
||||
if (partialImageRef) {
|
||||
const size_t partialHeight = CGImageGetHeight(partialImageRef);
|
||||
|
@ -366,7 +371,11 @@ didReceiveResponse:(NSURLResponse *)response
|
|||
#endif
|
||||
|
||||
if (partialImageRef) {
|
||||
#if SD_UIKIT || SD_WATCH
|
||||
UIImage *image = [UIImage imageWithCGImage:partialImageRef scale:1 orientation:orientation];
|
||||
#elif SD_MAC
|
||||
UIImage *image = [[UIImage alloc] initWithCGImage:partialImageRef size:NSZeroSize];
|
||||
#endif
|
||||
NSString *key = [[SDWebImageManager sharedManager] cacheKeyForURL:self.request.URL];
|
||||
UIImage *scaledImage = [self scaledImageForKey:key image:image];
|
||||
if (self.shouldDecompressImages) {
|
||||
|
@ -500,6 +509,7 @@ didReceiveResponse:(NSURLResponse *)response
|
|||
|
||||
#pragma mark Helper methods
|
||||
|
||||
#if SD_UIKIT || SD_WATCH
|
||||
+ (UIImageOrientation)orientationFromPropertyValue:(NSInteger)value {
|
||||
switch (value) {
|
||||
case 1:
|
||||
|
@ -522,6 +532,7 @@ didReceiveResponse:(NSURLResponse *)response
|
|||
return UIImageOrientationUp;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
- (nullable UIImage *)scaledImageForKey:(nullable NSString *)key image:(nullable UIImage *)image {
|
||||
return SDScaledImageForKey(key, image);
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#import "SDWebImageManager.h"
|
||||
#import <objc/message.h>
|
||||
#import "NSImage+WebCache.h"
|
||||
|
||||
@interface SDWebImageCombinedOperation : NSObject <SDWebImageOperation>
|
||||
|
||||
|
|
|
@ -7,9 +7,10 @@
|
|||
*/
|
||||
|
||||
#import "SDWebImageCompat.h"
|
||||
#import "SDWebImageManager.h"
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
#if SD_UIKIT
|
||||
|
||||
#import "SDWebImageManager.h"
|
||||
|
||||
/**
|
||||
* Integrates SDWebImage async downloading and caching of remote images with UIButtonView.
|
||||
|
|
|
@ -7,11 +7,12 @@
|
|||
*/
|
||||
|
||||
#import "UIButton+WebCache.h"
|
||||
|
||||
#if SD_UIKIT
|
||||
|
||||
#import "objc/runtime.h"
|
||||
#import "UIView+WebCacheOperation.h"
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
|
||||
static char imageURLStorageKey;
|
||||
|
||||
typedef NSMutableDictionary<NSNumber *, NSURL *> SDStateImageURLDictionary;
|
||||
|
|
|
@ -7,10 +7,7 @@
|
|||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#if TARGET_OS_WATCH
|
||||
#import <WatchKit/WatchKit.h>
|
||||
#endif
|
||||
#import "SDWebImageCompat.h"
|
||||
|
||||
@interface UIImage (GIF)
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#import "UIImage+GIF.h"
|
||||
#import <ImageIO/ImageIO.h>
|
||||
#import "objc/runtime.h"
|
||||
#import "NSImage+WebCache.h"
|
||||
|
||||
@implementation UIImage (GIF)
|
||||
|
||||
|
@ -29,17 +30,21 @@
|
|||
} else {
|
||||
// we will only retrieve the 1st frame. the full GIF support is available via the FLAnimatedImageView category.
|
||||
// this here is only code to allow drawing animated images as static ones
|
||||
#if SD_WATCH
|
||||
CGFloat scale = 1;
|
||||
#if TARGET_OS_WATCH
|
||||
scale = [WKInterfaceDevice currentDevice].screenScale;
|
||||
#else
|
||||
#elif SD_UIKIT
|
||||
CGFloat scale = 1;
|
||||
scale = [UIScreen mainScreen].scale;
|
||||
#endif
|
||||
|
||||
|
||||
CGImageRef CGImage = CGImageSourceCreateImageAtIndex(source, 0, NULL);
|
||||
#if SD_UIKIT || SD_WATCH
|
||||
UIImage *frameImage = [UIImage imageWithCGImage:CGImage scale:scale orientation:UIImageOrientationUp];
|
||||
staticImage = [UIImage animatedImageWithImages:@[frameImage] duration:0.0f];
|
||||
#elif SD_MAC
|
||||
staticImage = [[UIImage alloc] initWithCGImage:CGImage size:NSZeroSize];
|
||||
#endif
|
||||
CGImageRelease(CGImage);
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "SDWebImageCompat.h"
|
||||
|
||||
@interface UIImage (MultiFormat)
|
||||
|
||||
|
|
|
@ -35,19 +35,21 @@
|
|||
#endif
|
||||
else {
|
||||
image = [[UIImage alloc] initWithData:data];
|
||||
#if SD_UIKIT || SD_WATCH
|
||||
UIImageOrientation orientation = [self sd_imageOrientationFromImageData:data];
|
||||
if (orientation != UIImageOrientationUp) {
|
||||
image = [UIImage imageWithCGImage:image.CGImage
|
||||
scale:image.scale
|
||||
orientation:orientation];
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
return image;
|
||||
}
|
||||
|
||||
|
||||
#if SD_UIKIT || SD_WATCH
|
||||
+(UIImageOrientation)sd_imageOrientationFromImageData:(nonnull NSData *)imageData {
|
||||
UIImageOrientation result = UIImageOrientationUp;
|
||||
CGImageSourceRef imageSource = CGImageSourceCreateWithData((__bridge CFDataRef)imageData, NULL);
|
||||
|
@ -112,7 +114,7 @@
|
|||
}
|
||||
return orientation;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@end
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
#ifdef SD_WEBP
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "SDWebImageCompat.h"
|
||||
|
||||
@interface UIImage (WebP)
|
||||
|
||||
|
|
|
@ -7,13 +7,9 @@
|
|||
*/
|
||||
|
||||
#ifdef SD_WEBP
|
||||
#import "UIImage+WebP.h"
|
||||
|
||||
#if !COCOAPODS
|
||||
#import "UIImage+WebP.h"
|
||||
#import "webp/decode.h"
|
||||
#else
|
||||
#import "webp/decode.h"
|
||||
#endif
|
||||
|
||||
// Callback for CGDataProviderRelease
|
||||
static void FreeImageData(void *info, const void *data, size_t size) {
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "SDWebImageCompat.h"
|
||||
#import "SDWebImageManager.h"
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
#if SD_UIKIT
|
||||
|
||||
#import "SDWebImageManager.h"
|
||||
|
||||
/**
|
||||
* Integrates SDWebImage async downloading and caching of remote images with UIImageView for highlighted state.
|
||||
|
|
|
@ -7,9 +7,10 @@
|
|||
*/
|
||||
|
||||
#import "UIImageView+HighlightedWebCache.h"
|
||||
#import "UIView+WebCacheOperation.h"
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
#if SD_UIKIT
|
||||
|
||||
#import "UIView+WebCacheOperation.h"
|
||||
|
||||
#define UIImageViewHighlightedWebCacheOperationKey @"highlightedImage"
|
||||
|
||||
|
|
|
@ -7,9 +7,10 @@
|
|||
*/
|
||||
|
||||
#import "SDWebImageCompat.h"
|
||||
#import "SDWebImageManager.h"
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
#if SD_UIKIT || SD_MAC
|
||||
|
||||
#import "SDWebImageManager.h"
|
||||
|
||||
/**
|
||||
* Integrates SDWebImage async downloading and caching of remote images with UIImageView.
|
||||
|
@ -181,18 +182,21 @@
|
|||
progress:(nullable SDWebImageDownloaderProgressBlock)progressBlock
|
||||
completed:(nullable SDExternalCompletionBlock)completedBlock;
|
||||
|
||||
#if SD_UIKIT
|
||||
/**
|
||||
* Download an array of images and starts them in an animation loop
|
||||
*
|
||||
* @param arrayOfURLs An array of NSURL
|
||||
*/
|
||||
- (void)sd_setAnimationImagesWithURLs:(nonnull NSArray<NSURL *> *)arrayOfURLs;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Cancel the current download
|
||||
*/
|
||||
- (void)sd_cancelCurrentImageLoad;
|
||||
|
||||
#if SD_UIKIT
|
||||
- (void)sd_cancelCurrentAnimationImagesLoad;
|
||||
|
||||
/**
|
||||
|
@ -210,7 +214,7 @@
|
|||
- (BOOL)showActivityIndicatorView;
|
||||
- (void)addActivityIndicator;
|
||||
- (void)removeActivityIndicator;
|
||||
|
||||
#endif
|
||||
|
||||
@end
|
||||
|
||||
|
|
|
@ -7,14 +7,17 @@
|
|||
*/
|
||||
|
||||
#import "UIImageView+WebCache.h"
|
||||
|
||||
#if SD_UIKIT || SD_MAC
|
||||
|
||||
#import "objc/runtime.h"
|
||||
#import "UIView+WebCacheOperation.h"
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
|
||||
static char imageURLKey;
|
||||
#if SD_UIKIT
|
||||
static char TAG_ACTIVITY_INDICATOR;
|
||||
static char TAG_ACTIVITY_STYLE;
|
||||
#endif
|
||||
static char TAG_ACTIVITY_SHOW;
|
||||
|
||||
@implementation UIImageView (WebCache)
|
||||
|
@ -77,11 +80,19 @@ static char TAG_ACTIVITY_SHOW;
|
|||
}
|
||||
else if (image) {
|
||||
wself.image = image;
|
||||
#if SD_UIKIT
|
||||
[wself setNeedsLayout];
|
||||
#elif SD_MAC
|
||||
[wself setNeedsLayout:YES];
|
||||
#endif
|
||||
} else {
|
||||
if ((options & SDWebImageDelayPlaceholder)) {
|
||||
wself.image = placeholder;
|
||||
#if SD_UIKIT
|
||||
[wself setNeedsLayout];
|
||||
#elif SD_MAC
|
||||
[wself setNeedsLayout:YES];
|
||||
#endif
|
||||
}
|
||||
}
|
||||
if (completedBlock && finished) {
|
||||
|
@ -116,6 +127,7 @@ static char TAG_ACTIVITY_SHOW;
|
|||
return objc_getAssociatedObject(self, &imageURLKey);
|
||||
}
|
||||
|
||||
#if SD_UIKIT
|
||||
- (void)sd_setAnimationImagesWithURLs:(nonnull NSArray<NSURL *> *)arrayOfURLs {
|
||||
[self sd_cancelCurrentAnimationImagesLoad];
|
||||
__weak __typeof(self)wself = self;
|
||||
|
@ -146,17 +158,20 @@ static char TAG_ACTIVITY_SHOW;
|
|||
|
||||
[self sd_setImageLoadOperation:[operationsArray copy] forKey:@"UIImageViewAnimationImages"];
|
||||
}
|
||||
#endif
|
||||
|
||||
- (void)sd_cancelCurrentImageLoad {
|
||||
[self sd_cancelImageLoadOperationWithKey:@"UIImageViewImageLoad"];
|
||||
}
|
||||
|
||||
#if SD_UIKIT
|
||||
- (void)sd_cancelCurrentAnimationImagesLoad {
|
||||
[self sd_cancelImageLoadOperationWithKey:@"UIImageViewAnimationImages"];
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#pragma mark -
|
||||
#if SD_UIKIT
|
||||
- (UIActivityIndicatorView *)activityIndicator {
|
||||
return (UIActivityIndicatorView *)objc_getAssociatedObject(self, &TAG_ACTIVITY_INDICATOR);
|
||||
}
|
||||
|
@ -164,6 +179,7 @@ static char TAG_ACTIVITY_SHOW;
|
|||
- (void)setActivityIndicator:(UIActivityIndicatorView *)activityIndicator {
|
||||
objc_setAssociatedObject(self, &TAG_ACTIVITY_INDICATOR, activityIndicator, OBJC_ASSOCIATION_RETAIN);
|
||||
}
|
||||
#endif
|
||||
|
||||
- (void)setShowActivityIndicatorView:(BOOL)show {
|
||||
objc_setAssociatedObject(self, &TAG_ACTIVITY_SHOW, @(show), OBJC_ASSOCIATION_RETAIN);
|
||||
|
@ -173,6 +189,7 @@ static char TAG_ACTIVITY_SHOW;
|
|||
return [objc_getAssociatedObject(self, &TAG_ACTIVITY_SHOW) boolValue];
|
||||
}
|
||||
|
||||
#if SD_UIKIT
|
||||
- (void)setIndicatorStyle:(UIActivityIndicatorViewStyle)style{
|
||||
objc_setAssociatedObject(self, &TAG_ACTIVITY_STYLE, [NSNumber numberWithInt:style], OBJC_ASSOCIATION_RETAIN);
|
||||
}
|
||||
|
@ -180,8 +197,10 @@ static char TAG_ACTIVITY_SHOW;
|
|||
- (int)getIndicatorStyle{
|
||||
return [objc_getAssociatedObject(self, &TAG_ACTIVITY_STYLE) intValue];
|
||||
}
|
||||
#endif
|
||||
|
||||
- (void)addActivityIndicator {
|
||||
#if SD_UIKIT
|
||||
if (!self.activityIndicator) {
|
||||
self.activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:[self getIndicatorStyle]];
|
||||
self.activityIndicator.translatesAutoresizingMaskIntoConstraints = NO;
|
||||
|
@ -209,14 +228,16 @@ static char TAG_ACTIVITY_SHOW;
|
|||
dispatch_main_async_safe(^{
|
||||
[self.activityIndicator startAnimating];
|
||||
});
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
- (void)removeActivityIndicator {
|
||||
#if SD_UIKIT
|
||||
if (self.activityIndicator) {
|
||||
[self.activityIndicator removeFromSuperview];
|
||||
self.activityIndicator = nil;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -6,10 +6,11 @@
|
|||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "SDWebImageManager.h"
|
||||
#import "SDWebImageCompat.h"
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
#if SD_UIKIT || SD_MAC
|
||||
|
||||
#import "SDWebImageManager.h"
|
||||
|
||||
@interface UIView (WebCacheOperation)
|
||||
|
||||
|
|
|
@ -7,9 +7,10 @@
|
|||
*/
|
||||
|
||||
#import "UIView+WebCacheOperation.h"
|
||||
#import "objc/runtime.h"
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
#if SD_UIKIT || SD_MAC
|
||||
|
||||
#import "objc/runtime.h"
|
||||
|
||||
static char loadOperationKey;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ FOUNDATION_EXPORT const unsigned char WebImageVersionString[];
|
|||
#import <SDWebImage/UIImage+MultiFormat.h>
|
||||
#import <SDWebImage/SDWebImageOperation.h>
|
||||
#import <SDWebImage/SDWebImageDownloader.h>
|
||||
#if !TARGET_OS_TV
|
||||
#if SD_MAC || SD_UIKIT
|
||||
#import <SDWebImage/MKAnnotationView+WebCache.h>
|
||||
#endif
|
||||
#import <SDWebImage/SDWebImageDecoder.h>
|
||||
|
|
Loading…
Reference in New Issue