From 983b2782f87eaa9c21103aaac49bce9f19cc9adf Mon Sep 17 00:00:00 2001 From: Davide Sibilio Date: Tue, 21 Jul 2020 10:21:08 +0200 Subject: [PATCH] Implemented Subspec for Remote Fetch Support --- Example/Podfile | 3 ++- Example/Podfile.lock | 18 ++++++++++-------- ImageViewer.swift.podspec | 8 ++++++-- README.md | 7 +++++++ Sources/ImageItem.swift | 2 ++ Sources/ImageViewerController.swift | 4 ++++ Sources/UIImageView_Extensions.swift | 4 ++++ 7 files changed, 35 insertions(+), 11 deletions(-) diff --git a/Example/Podfile b/Example/Podfile index 8518888..8634347 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -3,4 +3,5 @@ use_frameworks! target 'Demo' do pod 'ImageViewer.swift', :path => './../' -end \ No newline at end of file + pod 'ImageViewer.swift/Fetcher', :path => './../' +end diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 48a77d8..ed4be0c 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,12 +1,14 @@ PODS: - - ImageViewer.swift (3.0): + - ImageViewer.swift (3.0) + - ImageViewer.swift/Fetcher (3.0): - SDWebImage - - SDWebImage (5.3.3): - - SDWebImage/Core (= 5.3.3) - - SDWebImage/Core (5.3.3) + - SDWebImage (5.8.4): + - SDWebImage/Core (= 5.8.4) + - SDWebImage/Core (5.8.4) DEPENDENCIES: - ImageViewer.swift (from `./../`) + - ImageViewer.swift/Fetcher (from `./../`) SPEC REPOS: trunk: @@ -17,9 +19,9 @@ EXTERNAL SOURCES: :path: "./../" SPEC CHECKSUMS: - ImageViewer.swift: a8ddca1afeea736c557ba44ce5c220d829922c8a - SDWebImage: 51ab1ce3ebd20dec6665ae8ba25c928da323db41 + ImageViewer.swift: 5a7de1366351c307023daf71f907dedee968b5d0 + SDWebImage: cf6922231e95550934da2ada0f20f2becf2ceba9 -PODFILE CHECKSUM: 3cb622a244c4948f6d66f0aaa9d36294c3ab7fe1 +PODFILE CHECKSUM: e724d0d4011b46b198571c9f9ed6734d40b74bc4 -COCOAPODS: 1.8.4 +COCOAPODS: 1.9.3 diff --git a/ImageViewer.swift.podspec b/ImageViewer.swift.podspec index 0492b79..5694b8f 100644 --- a/ImageViewer.swift.podspec +++ b/ImageViewer.swift.podspec @@ -10,7 +10,6 @@ Pod::Spec.new do |s| } s.source_files = 'Sources/*' s.requires_arc = true - s.dependency 'SDWebImage' s.ios.deployment_target = '10.0' s.swift_versions = ['4.0','4.2','5.0'] s.license = { @@ -26,4 +25,9 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI LICENSE } -end + + s.default_subspecs = :none + s.subspec 'Fetcher' do |cs| + cs.dependency 'SDWebImage' + end +end \ No newline at end of file diff --git a/README.md b/README.md index 3f07c6f..21161b4 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,13 @@ Using [cocoapods](https://cocoapods.org) pod 'ImageViewer.swift', '~> 3.0' ``` +If you need remote image fetching: + +```ruby +pod 'ImageViewer.swift', '~> 3.0' +pod 'ImageViewer.swift/Fetcher', '~> 3.0' +``` + ## How to use it The simplest way to to use this is by using the [imageView.setupImageViewer()](https://github.com/michaelhenry/MHFacebookImageViewer/blob/master/Example/Demo/BasicViewController.swift#L11) diff --git a/Sources/ImageItem.swift b/Sources/ImageItem.swift index ca9e1e3..592b035 100644 --- a/Sources/ImageItem.swift +++ b/Sources/ImageItem.swift @@ -2,5 +2,7 @@ import UIKit public enum ImageItem { case image(UIImage?) + #if canImport(SDWebImage) case url(URL, placeholder: UIImage?) + #endif } diff --git a/Sources/ImageViewerController.swift b/Sources/ImageViewerController.swift index e72b113..d0bc079 100644 --- a/Sources/ImageViewerController.swift +++ b/Sources/ImageViewerController.swift @@ -1,5 +1,7 @@ import UIKit +#if canImport(SDWebImage) import SDWebImage +#endif protocol ImageViewerControllerDelegate:class { func imageViewerDidClose(_ imageViewer: ImageViewerController) @@ -90,6 +92,7 @@ class ImageViewerController:UIViewController, UIGestureRecognizerDelegate { case .image(let img): imageView.image = img imageView.layoutIfNeeded() + #if canImport(SDWebImage) case .url(let url, let placeholder): imageView.sd_setImage( with: url, @@ -102,6 +105,7 @@ class ImageViewerController:UIViewController, UIGestureRecognizerDelegate { } } } + #endif default: break } diff --git a/Sources/UIImageView_Extensions.swift b/Sources/UIImageView_Extensions.swift index 5f2a3be..ccb0974 100644 --- a/Sources/UIImageView_Extensions.swift +++ b/Sources/UIImageView_Extensions.swift @@ -22,6 +22,7 @@ extension UIImageView { setup(datasource: nil, options: options, from: from) } + #if canImport(SDWebImage) public func setupImageViewer( url:URL, initialIndex:Int = 0, @@ -39,6 +40,7 @@ extension UIImageView { options: options, from: from) } + #endif public func setupImageViewer( images:[UIImage], @@ -57,6 +59,7 @@ extension UIImageView { from: from) } + #if canImport(SDWebImage) public func setupImageViewer( urls:[URL], initialIndex:Int = 0, @@ -74,6 +77,7 @@ extension UIImageView { options: options, from: from) } + #endif public func setupImageViewer( datasource:ImageDataSource,