From 243a83535eba1a1d5c52eb22bc8f62a9a4b0b5ec Mon Sep 17 00:00:00 2001 From: Boris Bugor Date: Mon, 8 Jun 2026 22:31:15 +0100 Subject: [PATCH 1/2] Raise minimum iOS deployment target to 15 Xcode 27 beta no longer supports iOS deployment targets below 15, so the iOS 13 floor produces a deployment-target warning on every build. Bump the iOS platform to 15.0 in Package.swift and the podspec to build cleanly under Xcode 27. The string form .iOS("15.0") is used because the .v15 enum case is not available at this package's swift-tools-version:5.1. --- Package.swift | 2 +- SDWebImageSVGCoder.podspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Package.swift b/Package.swift index 1fbe666..11e032c 100644 --- a/Package.swift +++ b/Package.swift @@ -6,7 +6,7 @@ import PackageDescription let package = Package( name: "SDWebImageSVGCoder", platforms: [ - .macOS(.v10_15), .iOS(.v13), .tvOS(.v13), .watchOS(.v6) + .macOS(.v10_15), .iOS("15.0"), .tvOS(.v13), .watchOS(.v6) ], products: [ // Products define the executables and libraries produced by a package, and make them visible to other packages. diff --git a/SDWebImageSVGCoder.podspec b/SDWebImageSVGCoder.podspec index 1c380a8..59b8535 100644 --- a/SDWebImageSVGCoder.podspec +++ b/SDWebImageSVGCoder.podspec @@ -26,7 +26,7 @@ TODO: Add long description of the pod here. s.author = { 'lizhuoli1126@126.com' => 'lizhuoli1126@126.com' } s.source = { :git => 'https://github.com/SDWebImage/SDWebImageSVGCoder.git', :tag => s.version.to_s } - s.ios.deployment_target = '13.0' + s.ios.deployment_target = '15.0' s.tvos.deployment_target = '13.0' s.osx.deployment_target = '10.15' s.watchos.deployment_target = '6.0' From 35ece2f4b9f4aa99d7b9a6bf3f204d8209174d4c Mon Sep 17 00:00:00 2001 From: Boris Bugor Date: Tue, 9 Jun 2026 08:48:32 +0100 Subject: [PATCH 2/2] Align README iOS minimum with the new iOS 15 deployment target Address CodeRabbit review: update the requirement and CocoaPods/runtime-check examples that referenced iOS 13 to iOS 15, matching the bumped Package.swift and podspec. The historical notes about CoreSVG.framework being introduced in iOS 13 (and the Xcode 11.4 / iOS 13.4 radar note) are factual and left as-is. tvOS minimum is unchanged. --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 33d5bbc..07f3d0f 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Currently SDWebImage org provide 3 kinds of SVG Coder Plugin support, here is co | Plugin Name| Vector Image | Bitmap Image | Platform | Compatibility | Dependency | |---|---|---|---|---|---| | [SVGNativeCoder](https://github.com/SDWebImage/SDWebImageSVGNativeCoder) | NO | YES | iOS 9+ | Best and W3C standard | adobe/svg-native-viewer | -| [SVGCoder](https://github.com/SDWebImage/SDWebImageSVGCoder) | YES | YES | iOS 13+ | OK but buggy on some SVG | Apple CoreSVG(Private) | +| [SVGCoder](https://github.com/SDWebImage/SDWebImageSVGCoder) | YES | YES | iOS 15+ | OK but buggy on some SVG | Apple CoreSVG(Private) | | [SVGKitPlugin](https://github.com/SDWebImage/SDWebImageSVGKitPlugin) | YES | NO | iOS 9+ | Worst, no longer maintain | SVGKit/SVGKit ## What's for @@ -52,7 +52,7 @@ You can modify the code or use some other SVG files to check the compatibility. ## Requirements -+ iOS 13+ ++ iOS 15+ + tvOS 13+ + macOS 10.15+ + watchOS 6+ @@ -220,13 +220,13 @@ This framework supports backward deployment on iOS 12-/macOS 10.14-. And you can For CocoaPods user, you can skip the platform version validation in Podfile with: ```ruby -platform :ios, '13.0' # This does not effect your App Target's deployment target version, just a hint for CocoaPods +platform :ios, '15.0' # This does not effect your App Target's deployment target version, just a hint for CocoaPods ``` Pay attention, you should always use the runtime version check to ensure those symbols are available, you should mark all the classes use public API with `API_AVAILABLE` annotation as well. See below: ```objective-c -if (@available(iOS 13, *)) { +if (@available(iOS 15, *)) { [SDImageCodersManager.sharedCoder addCoder:SDImageSVGCoder.sharedCoder]; } else { [SDImageCodersManager.sharedCoder addCoder:SDImageSVGKCoder.sharedCoder];