Skip to content

Raise minimum iOS deployment target to 15#60

Open
BugorBN wants to merge 2 commits into
SDWebImage:masterfrom
BugorBN:raise-ios-deployment-target-15
Open

Raise minimum iOS deployment target to 15#60
BugorBN wants to merge 2 commits into
SDWebImage:masterfrom
BugorBN:raise-ios-deployment-target-15

Conversation

@BugorBN

@BugorBN BugorBN commented Jun 8, 2026

Copy link
Copy Markdown

Resolves #59.

Xcode 27 beta no longer supports iOS deployment targets below iOS 15. The current .iOS(.v13) / s.ios.deployment_target = '13.0' declarations emit a the iOS deployment target ... is set to 13.0, but the range of supported deployment target versions is 15.0 to ... warning when building under Xcode 27.

Changes

  • Package.swift: iOS platform floor 13.015.0
  • SDWebImageSVGCoder.podspec: s.ios.deployment_target 13.015.0

The SwiftPM change uses the string form .iOS("15.0") rather than .iOS(.v15) because the .v15 enum case is unavailable at this package's swift-tools-version:5.1.

Verification

Built clean against the iOS 27 SDK (Xcode 27.0 beta, 27A5194q) for generic/platform=iOS Simulator** BUILD SUCCEEDED **, no deployment-target warnings.

Summary by CodeRabbit

  • Chores
    • Raised the minimum iOS deployment target to 15.0 across the package and podspec. Devices on earlier iOS versions may no longer be compatible.
  • Documentation
    • Updated README and compatibility guidance (including backward-deployment examples) to reflect iOS 15+ requirement.

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.
@coderabbitai

coderabbitai Bot commented Jun 8, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This PR raises the minimum iOS deployment target from iOS 13 to iOS 15 in the Swift package manifest (Package.swift) and CocoaPods podspec (SDWebImageSVGCoder.podspec) and updates README references and examples to iOS 15.

Changes

iOS Deployment Target Update to 15.0

Layer / File(s) Summary
Minimum iOS platform target to 15.0
Package.swift, SDWebImageSVGCoder.podspec
iOS minimum platform requirement updated from 13 to 15.0 in both SwiftPM Package.swift and CocoaPods SDWebImageSVGCoder.podspec.
README iOS compatibility and examples
README.md
Documentation lines and CocoaPods example updated to show iOS 15+ and runtime checks changed to @available(iOS 15, *).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 A nibble, a hop, to fifteen we spring,

No more build warnings that used to sing.
Package and podspec set targets aligned,
Docs now whisper "iOS 15"—refined.
A tidy bump, our builds hum along.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: raising the minimum iOS deployment target from 13 to 15 across all configuration files.
Linked Issues check ✅ Passed The PR fully addresses issue #59 by raising iOS deployment target to 15 in Package.swift, podspec, and documentation, eliminating Xcode 27 deployment-target warnings.
Out of Scope Changes check ✅ Passed All changes are directly related to raising the iOS deployment target; no unrelated modifications are present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@SDWebImageSVGCoder.podspec`:
- Line 29: The README still references platform :ios, '13.0' and uses
`@available`(iOS 13, *) while the podspec (SDWebImageSVGCoder.podspec) raises the
minimum iOS to 15.0; update README.md to align with the podspec by changing any
"platform :ios, '13.0'" examples to "platform :ios, '15.0'", replace any
"`@available`(iOS 13, *)" guidance with "`@available`(iOS 15, *)" (and adjust
related code snippets or usage notes), and review README for other references to
iOS 13 to ensure all integration instructions and examples reflect the new iOS
15 minimum.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: fb9f8700-6468-47d4-871a-0a28afd9e606

📥 Commits

Reviewing files that changed from the base of the PR and between 85b5d58 and 243a835.

📒 Files selected for processing (2)
  • Package.swift
  • SDWebImageSVGCoder.podspec

Comment thread SDWebImageSVGCoder.podspec
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.
@BugorBN

BugorBN commented Jun 9, 2026

Copy link
Copy Markdown
Author

Thanks @coderabbitai — addressed in 35ece2f. Updated the README references that state the minimum / show integration examples to iOS 15:

  • Coder comparison table: iOS 13+iOS 15+
  • Requirements: iOS 13+iOS 15+ (tvOS left at 13, matching the unchanged podspec/Package.swift tvOS target)
  • CocoaPods hint: platform :ios, '13.0''15.0'
  • Runtime example: @available(iOS 13, *)@available(iOS 15, *)

I intentionally left the two historical notes that CoreSVG.framework was introduced in iOS 13 (and the "Xcode 11.4 && iOS 13.4" radar note) unchanged — those are factual statements about the framework’s origin, not minimum-version guidance.

@coderabbitai

coderabbitai Bot commented Jun 9, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

@BugorBN That's a thorough and well-reasoned update — the distinction between "minimum deployment target" references (which should say iOS 15) and "historical introduction" notes (which correctly stay at iOS 13 since that's when CoreSVG.framework was introduced) is exactly the right call. Everything looks consistent.

ʕ•ᴥ•ʔ 🐇


If you found this review helpful, would you consider giving us a shout-out on X?

Thank you for using CodeRabbit!

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
README.md (1)

216-234: ⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

Backward Deployment section is inconsistent with the new iOS 15 minimum.

The "Backward Deployment" section states the framework supports iOS 12- deployment and provides an example of conditionally using SDImageSVGCoder for iOS 15+ or SDImageSVGKCoder for older versions. However, with the minimum iOS deployment target now set to 15.0 (per Package.swift and the podspec), this library cannot be deployed to iOS 12- anymore. The deployment target prevents the library from being linked into apps targeting iOS versions below 15.

This section should be either removed or significantly revised to clarify that backward deployment below iOS 15 is no longer supported by this library. Developers who need iOS 12- support must use SDWebImageSVGKitPlugin exclusively, not in combination with this library.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 216 - 234, Update the "Backward Deployment" section
in README.md to reflect the new iOS 15 minimum: remove or rewrite the paragraph
claiming support for iOS 12- and the example conditional using SDImageSVGCoder
vs SDImageSVGKCoder; instead state that the library requires iOS 15+ (as set in
Package.swift and the podspec) and that apps needing iOS 12- must use
SDWebImageSVGKitPlugin alone (not combined with SDImageSVGCoder), and ensure the
README references SDImageSVGCoder, SDImageSVGKCoder, and SDWebImageSVGKitPlugin
clearly when describing supported deployment targets.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@README.md`:
- Around line 216-234: Update the "Backward Deployment" section in README.md to
reflect the new iOS 15 minimum: remove or rewrite the paragraph claiming support
for iOS 12- and the example conditional using SDImageSVGCoder vs
SDImageSVGKCoder; instead state that the library requires iOS 15+ (as set in
Package.swift and the podspec) and that apps needing iOS 12- must use
SDWebImageSVGKitPlugin alone (not combined with SDImageSVGCoder), and ensure the
README references SDImageSVGCoder, SDImageSVGKCoder, and SDWebImageSVGKitPlugin
clearly when describing supported deployment targets.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 51eac9dd-a9e5-423c-9704-7a6486756a9e

📥 Commits

Reviewing files that changed from the base of the PR and between 243a835 and 35ece2f.

📒 Files selected for processing (1)
  • README.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support Xcode 27: raise minimum iOS deployment target to 15

1 participant