Commit Graph

101 Commits

Author SHA1 Message Date
DreamPiggy 55e4ce35bd Replace all the demo project to use `#import <SDWebImage/SDWebImage.h>` module headers instead of massive headers 2018-04-19 17:25:39 +08:00
DreamPiggy f81480189d Add modulemap files for SDWebImage to support modular framework, move the WebP & GIF into subdirectory to make Podspec works 2018-04-19 17:25:39 +08:00
DreamPiggy 57db312cc5 Add `SDWebImageLoader` protocol for custom image loader. Also introduce the `SDWebImageLoadersManager` to manage multiple loaders with priority 2018-04-18 20:26:14 +08:00
DreamPiggy 9f770b6c19 Refactor to support custom image cache used for web manager. Supports caches manager with multiple caches and op policy 2018-04-18 14:40:56 +08:00
DreamPiggy 25b61bb5ae Refactor the cache path API. Only given the full cache path to allow user to choose to use filename or full path. And use a block instead of static array for additional cache path. 2018-04-13 11:10:14 +08:00
DreamPiggy 7d50d61b37 Update the NSImage+Addtions to allow specify a image orientation when using `CGImage`. Update all the place we use 2018-04-10 22:51:28 +08:00
DreamPiggy 407b708b38 Add shouldIncrementalLoad in SDAnimatedImageView to choose the animation behavior for progressive looading 2018-04-05 22:10:40 +08:00
DreamPiggy c3892d7d08 Move all download settings into SDWebImageDownloaderConfig, make it more easy to use with clear API.
Deprecate `createNewSessionWithConfiguration`, which make downloader not sync with URLSession. If user need to specify sharedDownloader config, just modify the defaultDownloaderConfig instead.
2018-04-05 00:15:53 +08:00
DreamPiggy 915278bfd8 Update the comments and demo for macOS 2018-03-29 19:43:34 +08:00
DreamPiggy 082c5af565 Add APNG coder to support static PNG & APNG rendering. Also update macOS's SDAnimatedImageRep 2018-03-29 17:45:56 +08:00
DreamPiggy 87bbcdc46f Introduce SDAnimatedImage and SDAnimatedImageView for high performance animated image rendering on iOS & macOS 2018-03-25 17:23:12 +08:00
DreamPiggy c9dfe39e36 Change all sharedInstance from method to class property 2018-03-11 16:08:33 +08:00
DreamPiggy 6f40adbaa0 Merge branch 'master' of https://github.com/rs/SDWebImage into 5.x
* 'master' of https://github.com/rs/SDWebImage:
  Add a delegate method to control the custom logic when blocking the failed url
  Clarify the block comment in SDWebImageManager
  Enable CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF

# Conflicts:
#	SDWebImage/SDImageCache.m
2018-03-09 16:52:46 +08:00
Scott Berrevoets 3ceb8308eb Enable CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF
This enables the CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF warning on all
targets. #2225 fixed a number of these, but a new one crept back in so
this fixes that issue as well.
2018-03-07 14:40:53 -08:00
DreamPiggy e7e3caae72 Merge branch 'master' of https://github.com/rs/SDWebImage into 5.x
* 'master' of https://github.com/rs/SDWebImage:
  Fix CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF warning
  Disable travis-ci email notification
  Fix prefetcher test to first clear the disk cache, and manager test to only fulfill the finished one
  Improve the travis-ci to not clean the build for dynamic framework to speed up the demo build
  Create a subclass of NSBitmapImageRep to fix the GIF frame duration issue on macOS
  Use lock instead of barrier queue to keep callbacks block thread-safe
  Decode the image in the operation level's queue instead of URLSession delegate queue. Because URLSession delegate queue is a barrier queue and shared between different operations
  Expose the read write to FLAnimatedImage associate to the UIImage to allow advanced feature like placeholder
  Fix that SDImageCacheQueryDataWhenInMemory should response cacheType to memory cache when the in-memory cache hit (#2218)
  Update the docs
  Improvement download operation for priority and some protect (#2208)
  Update the readme about macOS minimum deployment target version
  Fix the macOS wrong minimum deployment target version to 10.9. And also fix the warning on Xcode 9 by enable more warning options

# Conflicts:
#	SDWebImage.podspec
#	SDWebImage.xcodeproj/project.pbxproj
#	SDWebImage/SDImageCache.m
#	SDWebImage/SDWebImageDownloaderOperation.m
#	SDWebImage/SDWebImageFrame.h
2018-02-21 18:59:03 +08:00
DreamPiggy fc1fd0a74e Create a subclass of NSBitmapImageRep to fix the GIF frame duration issue on macOS 2018-02-18 17:52:13 +08:00
DreamPiggy e012b36679 Refactor the image indicator usage for UIView category. Use two protocol `SDWebImageIndicator` & `SDWebImageProgressIndicator` to make this more customizable. Implement two class about activity indicator and progress indicator for both UIKit/AppKit 2018-02-04 14:37:51 +08:00
DreamPiggy 7996b0dac8 Update macOS demo to add a clear cache button using NSButton category 2018-01-25 16:42:25 +08:00
DreamPiggy 829d54ff03 Add the image transition argument for all UIView+WebCache, make this easy for user to do some fade transition. It also reuse the current setImageBlock and make it easy to customize 2018-01-23 11:58:22 +08:00
DreamPiggy 8b3c4c2cde Fix Clang Static Analyzer warning for number nil check from Xcode 9.2 2017-12-29 12:52:29 +08:00
DreamPiggy 17616c999b Embedded SDWebImage framework to all platforms in our demo project to allow real device run because it’s a dynamic framework 2017-11-05 17:23:35 +08:00
DreamPiggy dfe68a5db6 Update demo to use modern way of image assets, and view layout for rotation 2017-11-05 15:23:32 +08:00
DreamPiggy 2dd61393ed Fix “linking against dylib not safe for use in application extensions” warning for watch extension demo 2017-11-05 07:58:44 +08:00
DreamPiggy 8e46c13bcd Add empty launch storyboard to allow view on iPhone X 2017-11-05 07:58:05 +08:00
DreamPiggy efb7c4ebf9 Update our iOS demo to modern way, add a UIProgressView to show image download progress 2017-11-05 07:22:26 +08:00
DreamPiggy 19f45a3cf4 Feature refactor built-in coders and support animated webp on macOS (#2082)
* Refactor code. Move the C global function to a new SDWebImageCoderHelper class.

1. Create two method for animated image parse. Provide the way to allow animates on macOS
2. Create a new class called SDWebImageFrame to allow abstract usage for animated image
3. Fix EXIF orientation method will crash on iOS 7 because it’s a iOS 8 above API

* Change sd_imageLoopCount to retrieve GIF loop count for NSImage on macOS

* Adopt the refactor code, change our build-in coder with that coder helper method to reduce complexity

* Update the demo project on macOS to show animated WebP
2017-10-31 20:34:05 +02:00
Bogdan Poplauschi f55635de1a Accidentally deleted a comma from an array declaration 2017-10-20 22:32:48 +03:00
Bogdan Poplauschi 86151183f6 Switched all the tests from using https://s3.amazonaws.com/fast-image-cache/demo-images/* images which are big and sometimes fail to arrive in 5 seconds (before the test can timeout) to smaller images, basically using http://via.placeholder.com/ like http://via.placeholder.com/50x50.jpg or http://via.placeholder.com/200x200.png
This should speed up the tests a bit and also avoid some of the random failures due to timeout
2017-10-20 20:29:18 +03:00
Bogdan Poplauschi ff0690547d Xcode 9 recommended settings applied 2017-10-06 20:58:44 +03:00
DreamPiggy a33d8dd7e0 Update macOS Demo deployment target to 10.10 to support build on Xcode 9 2017-09-26 13:56:35 +08:00
Bogdan Poplauschi 7b79c29a8c The docs say the progressBlock is called on a background queue, so when doing UI, we need to dispatch on the main queue
* @param progressBlock  A block called while image is downloading
* @note the progress block is executed on a background queue
2017-08-11 16:38:32 +03:00
Bogdan Poplauschi 1f4f371a7a Bumped libwebp submodule reference to version 0.6.0 2017-07-31 16:28:02 +03:00
DreamPiggy fecf4d28fd support animated GIF on macOS
use NSImage built-in method to maintain GIF on macOS
update README
2017-07-29 21:26:38 +08:00
Bogdan Poplauschi b1c3bb7e64 Updated copyright info - replaces #1806 2017-02-19 14:27:48 +02:00
Bogdan Poplauschi 8382899070 Merge pull request #984 from gztchan:master
Add url as param to progress block
2016-10-01 10:06:35 +03:00
Bogdan Poplauschi 17ae791953 Replaced #1640 - Added `sd_` prefix to the activity indicator related methods (`setShowActivityIndicatorView:`, `setIndicatorStyle:`, `showActivityIndicatorView`, `addActivityIndicator`, `removeActivityIndicator`) 2016-09-30 21:36:34 +03:00
Bogdan Poplauschi 2ec9dd7608 The iOS demo uses the dynamic framework instead of the static one 2016-09-30 21:16:48 +03:00
Bogdan Poplauschi 13ffb2327c Stopped the simulators from being too verbose 2016-09-30 21:07:44 +03:00
Bogdan Poplauschi 67e0719755 Update according to Xcode 8 recommended settings. Set the deployment target to iOS 8.0. No code signing. Enabled some warnings 2016-09-30 21:06:05 +03:00
Bogdan Poplauschi 2b721a6e30 Updated the image used by the watchOS demo 2016-09-30 10:12:58 +03:00
Bogdan Poplauschi 55e1e8c723 The watchOS demo uses the watch dynamic framework 2016-09-30 10:12:45 +03:00
Bogdan Poplauschi 3c4aa45f32 Fixed build due to latest animated WebP support that was not properly adapted for OSX. For OSX, this will not work because the `animatedImageWithImages:duration:` API does not have an equivalent there. 2016-09-30 09:32:34 +03:00
Bogdan Poplauschi 88b025a5fa Merge pull request #1438 from lianchengjiang/master
Animated webP support
2016-09-29 18:57:05 +03:00
Bogdan Poplauschi e1840c3262 Refactored all the duplicate code from our WebCache categories into a UIView+WebCache category. All the other categories will make calls to this one. Customization of setting the image is done via the setImageBlock and the operationKey 2016-09-25 19:44:52 +03:00
Bogdan Poplauschi a6316d1cce Fixed the demo project, `clearDisk` no longer exists 2016-09-23 21:15:38 +03:00
Bogdan Poplauschi 0869c6915d Added PNG image to demo app 2016-09-23 20:12:13 +03:00
Bogdan Poplauschi 5851f78aee Fixed issue "The value of CFBundleVersion in your WatchKit app's Info.plist (1) does not match the value in your companion app's Info.plist (1.0). There values are required to match" 2016-06-14 23:10:33 +03:00
Bogdan Poplauschi 8e81f4273f Added the osx platform to the podspec and set the osx deployment target to 10.8 because of some compiler issues (pod lib lint) 2016-06-13 09:47:09 +03:00
Bogdan Poplauschi 13cfa24cfe Proper file header copyright 2016-06-13 09:14:02 +03:00
Bogdan Poplauschi a4da728a08 Updated deployment targets for the Demo project (no longer project level iOS target, set watch to 2.0 and appletv to 9.0) 2016-06-13 08:55:05 +03:00