Update some CI jobs to Xcode 26.5#6555
Conversation
Made-with: Cursor
|
@RCGitBot please test |
# Conflicts: # api/revenuecat-api-ios-simulator.swiftinterface # api/revenuecat-api-ios.swiftinterface # api/revenuecat-api-macos.swiftinterface # api/revenuecat-api-tvos-simulator.swiftinterface # api/revenuecat-api-tvos.swiftinterface # api/revenuecat-api-visionos-simulator.swiftinterface # api/revenuecat-api-visionos.swiftinterface # api/revenuecat-api-watchos-simulator.swiftinterface # api/revenuecat-api-watchos.swiftinterface
|
My one question is: Was the removal of all those # if checks right? |
@JZDesign This was completely generated by Xcode 26.4, so if we migrate the CI to use Xcode 26.4, we'll need those removed for api checks to pass. As to why these are being removed in Xcode 26.4, I can't be sure. The Nonescapable Types proposal was experimental until this PR promoted it to a My guess is that this is Xcode 26.4 catching up to that, as the #if check is now redundant |
…SE-0489) Made-with: Cursor
|
Turns out that there's a known issue in iOS 26.3 and 26.4 that prevents The reason we haven't encountered this issue before is because Xcode 26.3 bundled the iOS 26.2 simulator, where this issue is not happening. So, for the time being, we shouldn't be updating the CI to Xcode 26.4. I've tested locally Xcode 26.5 Beta 1 and Will convert this PR back to draft because it contains other changes that will be needed to start using Xcode 26.5 (e.g. swift interface files or 398635d) |
…-xcode-26.4 Made-with: Cursor # Conflicts: # .circleci/config.yml # api/revenuecat-api-ios-simulator.swiftinterface # api/revenuecat-api-ios.swiftinterface # api/revenuecat-api-macos.swiftinterface # api/revenuecat-api-tvos-simulator.swiftinterface # api/revenuecat-api-tvos.swiftinterface # api/revenuecat-api-visionos-simulator.swiftinterface # api/revenuecat-api-visionos.swiftinterface # api/revenuecat-api-watchos-simulator.swiftinterface # api/revenuecat-api-watchos.swiftinterface
Made-with: Cursor
a3575c2 to
0303865
Compare
xcodebuild destinations require the three-component version (26.4.1) while fastlane scan uses the two-component runtime version (26.4). Made-with: Cursor
0303865 to
770f91c
Compare
I just tried with Xcode 26.4.1 and the issue still persists... |
…-xcode-26.4 Made-with: Cursor # Conflicts: # api/revenuecat-api-ios-simulator.swiftinterface # api/revenuecat-api-ios.swiftinterface # api/revenuecat-api-macos.swiftinterface # api/revenuecat-api-tvos-simulator.swiftinterface # api/revenuecat-api-tvos.swiftinterface # api/revenuecat-api-visionos-simulator.swiftinterface # api/revenuecat-api-visionos.swiftinterface # api/revenuecat-api-watchos-simulator.swiftinterface # api/revenuecat-api-watchos.swiftinterface
Made-with: Cursor
Still happening with Xcode 26.5 Beta 3 (which uses iOS 26.5 Beta 4) 😞 |
# Conflicts: # api/revenuecat-api-ios-simulator.swiftinterface # api/revenuecat-api-ios.swiftinterface # api/revenuecat-api-macos.swiftinterface # api/revenuecat-api-tvos-simulator.swiftinterface # api/revenuecat-api-tvos.swiftinterface # api/revenuecat-api-visionos-simulator.swiftinterface # api/revenuecat-api-visionos.swiftinterface # api/revenuecat-api-watchos-simulator.swiftinterface # api/revenuecat-api-watchos.swiftinterface
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
# Conflicts: # api/revenuecat-api-ios-simulator.swiftinterface # api/revenuecat-api-ios.swiftinterface # api/revenuecat-api-macos.swiftinterface # api/revenuecat-api-tvos-simulator.swiftinterface # api/revenuecat-api-tvos.swiftinterface # api/revenuecat-api-visionos-simulator.swiftinterface # api/revenuecat-api-visionos.swiftinterface # api/revenuecat-api-watchos-simulator.swiftinterface # api/revenuecat-api-watchos.swiftinterface
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 0596b50. Configure here.

Summary
Update most Xcode 26.3 CI jobs to use Xcode 26.5 and iOS 26.5 simulators.
Also fixes
FallbackComponentTestsassertions for the newDecodingError.debugDescriptionformat introduced by SE-0489 in Swift 6.3.Swift interface files need to be regenerated for Xcode 26.5.
Important
run-test-ios-26was not updated to Xcode 26.5 due to FB22500243 (Xcode 26.3+ breaks this job).Note
Low Risk
Changes are CI versions, brittle test string matching for DecodingError, and a regenerated binary interface—not SDK purchase or paywall runtime logic.
Overview
Bumps most CircleCI macOS jobs from Xcode 26.3 to 26.5 and simulator runs from iOS 26.2 to 26.5 (AdMob, RevenueCatUI/snapshots, Maestro E2E, Purchase Tester / RCT deploys, swiftinterface anchor).
run-test-ios-26stays on 26.3 because of Apple feedback FB22500243.FallbackComponentTestsnow accepts either legacy or Swift 6.3 (SE-0489)DecodingErrordebugDescriptionstrings so paywall fallback decoding tests pass on the new toolchain.revenuecat-api-ios-simulator.swiftinterfaceis regenerated for Swift 6.3.2 (fewer#if compiler … $NonescapableTypeswrappers in the public surface).Reviewed by Cursor Bugbot for commit a7c73b8. Bugbot is set up for automated code reviews on this repo. Configure here.