Commit Graph

3592 Commits

Author SHA1 Message Date
DreamPiggy a95075b54d Fix the iOS 17 UIKit behavior issue that UIImageView entering the background will reset CALayer's contents, which cause animated image render issue
Should use traitCollectionDidChange to refresh the CALayer's contents status to match current frame index
2023-11-14 16:12:50 +08:00
DreamPiggy d5dccaeeef Introduce the hacky workaround for iOS 17 ImageIO indexed color png code bug
This use the runtime detection instead of available check, more stable

When we detect the ImageIO is buggy, we will change the correct alpha info with non-premultiplied
2023-11-10 18:41:09 +08:00
DreamPiggy fd1950de05 Bumped version to 5.18.4
update CHANGELOG
2023-10-27 17:38:18 +08:00
DreamPiggy 7550aa759c
Merge pull request #3626 from dreampiggy/behavior/sdanimatedimage_jpeg_nonnil
SDAnimatedImage now supports static image like JPEG data
2023-10-21 18:52:25 +08:00
DreamPiggy 0a0f7e10f6 Update the behavior that SDAnimatedImage should pass the path and scale to coder as well
This metadata information is important for some edge cases decoding
2023-10-21 18:14:38 +08:00
DreamPiggy 42f35ca3f6 SDAnimatedImage now supports static image like JPEG data
This previously will only return nil for static image, so this may be a behavior changes
For example, SDAnimatedImageView loading url will cache the `SDAnimatedImage` instead of `UIImage`
2023-10-21 17:58:24 +08:00
DreamPiggy 1f06ef5007 Bumped version to 5.18.3
update CHANGELOG
2023-10-10 15:58:59 +08:00
DreamPiggy 9a24bfd425
Merge pull request #3620 from dreampiggy/feature/visionOS_15_1
Update the TargetConditionals check for visionOS on Xcode 15.1
2023-10-10 15:55:21 +08:00
DreamPiggy 970472e91c Update the TargetConditional check for visionOS for Xcode 15.1
VisionOS should be in the UIKit variant
2023-10-10 15:35:49 +08:00
DreamPiggy db07b09632
Merge pull request #3619 from dreampiggy/bugfix/try_remove_duplicate_filter_notification
Try to remove the unused NSNotification object filter, do filter by ourself
2023-10-10 15:03:22 +08:00
DreamPiggy cae43d7c88 Try to remove the unused NSNotification object filter, do filter by ourself 2023-10-10 14:46:23 +08:00
DreamPiggy 8b8e70f140
Merge pull request #3617 from dreampiggy/feat/convenient_encode_api_format_same
Update the convenient API for case when user encode the format the same as image format, provide better quick return
2023-10-10 14:31:05 +08:00
DreamPiggy 9078f316f7 Update the convenient API for UIImage (not SDAnimatedImage) to grab the current image format when no encode format provided
This match two classes behavior
2023-10-08 15:34:25 +08:00
DreamPiggy 4acf569171 Update the convenient API for case when user encode the format the same as image format, provide better quick return 2023-10-08 15:25:10 +08:00
DreamPiggy 936f1c7067 Bumped version to 5.18.2
update CHANGELOG
2023-09-21 23:22:35 +08:00
DreamPiggy 5b14f51ae1
Merge pull request #3607 from dreampiggy/bugfix/watchOS_displayLink
Fix the SDDisplayLink on watchOS does not behave like other platform
2023-09-21 23:04:12 +08:00
DreamPiggy 0b8e0f68d3 Fix the SDDisplayLink on watchOS does not behave like other platform
The first callback should be trigger in next runloop when calling `start`, not callback in sync
2023-09-21 22:57:22 +08:00
DreamPiggy 6e844d1967 Bumped version to 5.18.1
update CHANGELOG
2023-09-12 16:15:43 +08:00
DreamPiggy eee4b6b681
Merge pull request #3600 from dreampiggy/feature/xcprivacy
Added xcprivacy to framework target and SPM
2023-09-12 16:03:36 +08:00
DreamPiggy 9faa68dc15 Added xcprivacy to framework target and SPM
CocoaPods does not has this feature currently
2023-09-12 15:40:57 +08:00
DreamPiggy 27b5f0fa90
Merge pull request #3599 from dreampiggy/bugfix/warning_garden
Fix one warning because local variable shadows the variable outside of block
2023-09-12 14:40:24 +08:00
DreamPiggy 57ebdeafcf Fix one warning because local variable shadows the variable outside of block 2023-09-12 14:39:12 +08:00
DreamPiggy 345c935b8d
Merge pull request #3598 from dreampiggy/bugfix/xros_script
Added the visionOS support for "Build XCFramework" script target
2023-09-11 17:40:27 +08:00
DreamPiggy 50c8acefd7 Remove the script target output file, since it's dynamic based 2023-09-11 17:37:51 +08:00
DreamPiggy 99770368b5 Update the build scripts with destination-based instead of sdk-based
Which fix the issue on M1 Mac for x86_64 cross-build
2023-09-11 17:27:15 +08:00
DreamPiggy b231b2c55e Update the README.md about the installation guide 2023-09-11 15:31:49 +08:00
DreamPiggy 35089a0b9b Added the visionOS support for "Build XCFramework" script target
Move the scripts from xcproj into the actual Scripts folder
2023-09-11 15:31:49 +08:00
DreamPiggy f62ae2adf8
Merge pull request #3597 from dreampiggy/bugfix/jfif_orientation
Fix the JFIF image orientation bug (which does not use EXIF but JFIF metadata)
2023-09-11 14:48:27 +08:00
DreamPiggy 56b4379984 Added test case for this down-orientation JFIF image file 2023-09-08 17:17:50 +08:00
DreamPiggy 9ff08a1e66 A quick ugly fix for JFIF image orientation bug
We need the `kSDCGImageSourceSkipMetadata`, or the EXIF orientation translated by JFIF stills contains the non-Up side, and apply twice (by Apple's ImageIO and us)
2023-09-08 15:56:23 +08:00
DreamPiggy 36e484b317 Bumped version to 5.18.0
update CHANGELOG
2023-09-02 20:31:19 +08:00
DreamPiggy 9ccedcc09e Update xcodeproj to add support on MapKit for visionOS 2023-09-02 20:25:19 +08:00
DreamPiggy 82cfc450a3
Merge pull request #3556 from dreampiggy/feature/visionOS
(Part 1) Support to build for visionOS (no package manager support)
2023-09-02 20:19:09 +08:00
DreamPiggy 8000e239d2 Update readme and at least the xcconfig for visionOS 2023-09-02 20:16:06 +08:00
DreamPiggy a797da71ce Added support for visionOS using platform macro detection
The scale using traitCollection.displayScale
This only change source code
2023-09-02 20:11:27 +08:00
DreamPiggy 2db2c7ad5b
Merge pull request #3592 from dreampiggy/feature/avoid_cancel_image_options
Added `SDWebImageAvoidAutoCancelImage` to avoid cancel loading image requests for the same operation key
2023-09-02 19:26:10 +08:00
DreamPiggy 44470a8e4e Added test cases for AvoidAutoCancelImage options 2023-09-01 16:10:50 +08:00
DreamPiggy b3e1637a23 Added `SDWebImageAvoidAutoCancelImage` to avoid cancel loading image requests for the same operation key 2023-09-01 16:10:34 +08:00
DreamPiggy 507225ea04
Merge pull request #3587 from dreampiggy/bugfix/add_check_for_empty_data
Add extra check for empty data during URLSession data callback
2023-08-23 18:26:29 +08:00
DreamPiggy 1550747f2a Add extra check for image data during URLSession data callback
Make sure the assert work
2023-08-23 17:56:38 +08:00
DreamPiggy c614dffdfd Update the comments and associated key 2023-07-31 18:01:59 +08:00
DreamPiggy 5ef6c83953
Merge pull request #3576 from dreampiggy/feature_set_image_state_api
Add better support for stateful view (UIButton) for image URL/progres s state management
2023-07-31 17:59:57 +08:00
DreamPiggy 1c92951110 Fix the unit test about out-of-date behavior 2023-07-31 10:39:48 +08:00
DreamPiggy a986a77734 Add better support for stateful view (UIButton) for image URL/progress state management
Key idea:
1. Image Loading pipeline is based on `operation key`, when start/cancel it always need operation key
2. Stateful view has multiple operation key for different image property, we can use KeyPath as the hint to generate operation key
3. To make exists API compatible, we do not change much, however, in 6.0 we may do refactory and store all the loadState/operation/result into the single object, instead of 3
2023-07-31 10:35:47 +08:00
DreamPiggy 7e78633845
Merge pull request #3575 from dreampiggy/bugfix/CGImageCreateScale
Fix the CGImageCreateScaled to support 16/32 bit depth CGImage (RGB161616) and always preserve pixel format info
2023-07-29 21:59:26 +08:00
DreamPiggy 68c5808581 Added the complicated unit test `test22CGImageCreateScaledWithSize`
Test RGB888/RGB16/ARGB8888/RGB16/RGBF works on CGImageCreateScaled, because it's Foundation of coder plugin for thumbnail processing
2023-07-28 23:45:23 +08:00
DreamPiggy d25ee5b094 Fix the CGImageCreateScaled to support 16/32 bits CGImage (RGB161616), and always preserve pixel format info 2023-07-28 21:33:36 +08:00
DreamPiggy 0b225eaaeb
Merge pull request #3572 from Mervin1024/redundant_url_requests
Fix redundant requests for the same url during decoding time
2023-07-28 18:55:27 +08:00
马遥 2d73e96fdf use @syncrhonized (self) in the whole checkDone method, no longer allows something that add new handlers during checkDone 2023-07-28 14:56:28 +08:00
马遥 1ee0dbacea fix typo 2023-07-28 11:16:38 +08:00