fix(ios): derive the pod deployment target from React Native (Xcode 27) - #645
Merged
Merged
Conversation
The privacy manifest ships as a resource bundle (10.56.0), and CocoaPods gives that bundle target the podspec's platform version. React Native's post_install raises the deployment target of pod targets but not of resource bundle targets, so the hard-coded 11.0 stayed there. Xcode 27 supports iOS 15.0+ only and fails the build on that target: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 11.0, but the range of supported deployment target versions is 15.0 to 27.0.x. (in target 'react-native-update-react-native-update_privacy') Use React Native's min_ios_version_supported (what library templates use), which never exceeds the app's own target; fall back to 11.0 when a Podfile does not load react_native_pods.rb. Expo projects keep the target parsed from ExpoModulesCore. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
sunnylqm
added a commit
that referenced
this pull request
Sep 26, 2026
Bump package.json and harmony/pushy/oh-package.json5 together for the Xcode 27 iOS build fix from #645. No runtime changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Since 10.56.0 the privacy manifest ships as a resource bundle. CocoaPods gives the resource bundle target (
react-native-update-react-native-update_privacy) the podspec's platform version, which is hard-coded to11.0. React Native'spost_installraises the deployment target of pod targets, but not of resource bundle targets.Xcode 27 supports iOS 15.0 and later only, and treats the out-of-range target as an error. Every non-Expo iOS app on 10.56.0–10.57.0 fails to build:
CI did not catch it because it runs Xcode 26.4, where this is only a warning. Expo projects are not affected: their target is parsed from ExpoModulesCore.
Fix
Use React Native's
min_ios_version_supported, as the library templates do.react_native_pods.rbdefines it, and the Podfile loads that file before evaluating podspecs. The value never exceeds the app's own target, sopod installkeeps working on older React Native versions. The spec falls back to11.0when the Podfile does not loadreact_native_pods.rb.Verification
react-native-update-react-native-update_privacytarget failed to build before the change and built after it. The generated Pods project no longer containsDEPLOYMENT_TARGET = 11.0.Workaround for 10.56.0–10.57.0
Add this to the Podfile's
post_install:🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by CodeRabbit