When running pod install or pod update, CocoaPods may stop with the message Specs satisfying the … dependency were found, but they required a higher minimum deployment target.
This means CocoaPods found a compatible pod specification, but the pod requires a newer minimum OS version than the deployment target currently configured in your project.
- What this error means
- Common causes
- Typical situations where it appears
- How to check the cause
- Fix 1: Raise the platform version in the Podfile
- Fix 2: Match the deployment target in Xcode
- Fix 3: Use an older pod version
- Fix 4: Update the affected dependency
- Fix 5: Reintegrate CocoaPods
- Example with multiple targets
- Things to watch out for
- Summary
What this error means
[!] CocoaPods could not find compatible versions for pod "ExamplePod":
Specs satisfying the `ExamplePod` dependency were found, but they required a higher minimum deployment target.
The pod itself exists. The problem is that its minimum supported iOS version is higher than the deployment target used by your app or one of its targets.
Common causes
- The
platform :iosvalue in the Podfile is too low. - The Xcode deployment target is lower than the minimum required by the pod.
- A newer version of the pod dropped support for older iOS versions.
- The Podfile and Xcode project use different deployment targets.
- An app extension, widget, or test target still uses an older deployment target.
Typical situations where it appears
This error often appears after adding a modern library to an older project, updating an existing pod, or changing Xcode versions. It can also surface when one secondary target still supports an older iOS version even though the main app target has already been updated.
How to check the cause
1. Check the Podfile platform
platform :ios, '13.0'
Compare this value with the minimum iOS version required by the pod.
2. Check Xcode’s deployment target
Open the project in Xcode and inspect the app target under General or Build Settings. Check the minimum deployment version for every relevant target, including extensions and widgets.
3. Check the pod’s minimum supported OS
Review the pod’s documentation, podspec, or release notes to find the minimum iOS version required by the version you are installing.
Fix 1: Raise the platform version in the Podfile
If you no longer need to support older iOS releases, increase the deployment target in the Podfile.
platform :ios, '15.0'
target 'MyApp' do
pod 'ExamplePod'
end
Then install the pods again.
pod install
Fix 2: Match the deployment target in Xcode
Changing only the Podfile may not be enough. Make sure the Xcode project and all relevant targets use a deployment target compatible with the pod.
Important: If your project contains app extensions, widgets, notification service extensions, or test targets, check each target separately.
Fix 3: Use an older pod version
If your app must continue supporting an older iOS version, pin the pod to a release that still supports that OS.
pod 'ExamplePod', '~> 4.2'
This is useful for legacy projects, but older releases may miss later bug fixes and security updates.
Fix 4: Update the affected dependency
If an old lockfile is keeping your dependency graph in an incompatible state, update only the affected pod first.
pod update ExamplePod
Updating a single pod is usually safer than running a full pod update, which may change many dependencies at once.
Fix 5: Reintegrate CocoaPods
If stale generated settings remain after changing deployment targets, recreate the CocoaPods integration.
pod deintegrate
pod install
You can also run Clean Build Folder in Xcode before rebuilding.
Example with multiple targets
platform :ios, '15.0'
target 'MyApp' do
pod 'ExamplePod'
end
target 'MyWidget' do
pod 'ExamplePod'
end
If the same pod is used by both the app and a widget or extension, every target using it must satisfy the pod’s minimum OS requirement.
Things to watch out for
- Raising the deployment target drops support for devices running older OS versions.
- Keep the Podfile and Xcode deployment settings aligned.
- When downgrading a pod, review bug fixes, security changes, and API compatibility.
- A full
pod updatecan update many unrelated dependencies, so use it carefully.
Summary
The required a higher minimum deployment target error means the pod needs a newer minimum OS version than your project currently allows.
Start by comparing the Podfile platform, Xcode deployment target, and the pod’s minimum supported OS. If possible, raise the deployment target. If you must keep supporting an older OS, use a pod version that still supports it.
