-
Notifications
You must be signed in to change notification settings - Fork 579
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow user to use Xcode 13 #5531
Conversation
CMakeLists.txt
Outdated
if(APPLE) | ||
if(NOT DEFINED CMAKE_JS_VERSION) | ||
# https://developer.apple.com/forums/thread/716965 | ||
add_cxx_flag_if_supported(-fno-objc-msgsend-selector-stubs) | ||
endif() | ||
endif() | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We want/need this on the realm-js-ios
target in src/ios/CMakeLists.txt
specifically because that's the one that compiled Objective-C code (platform.mm
). No need to define it globally.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So it seems this is a performance/build optimization added in Xcode 14. Wondering if there would be a time we would want to add this back? Perhaps it would be worthwhile to add a comment stating that this flag can be removed when Xcode 15 is released, assuming by then most users are using Xcode 14.
Good point. Once React Native specify Xcode 14 or later we can safely remove it again. I have created #5533 to track it. |
What, How & Why?
Xcode 14 emits stubs for Objective C code which is incompatible with Xcode 13. See https://developer.apple.com/forums/thread/716965 for details.
This closes #5511
☑️ ToDos
[ ] 📝Compatibility
label is updated or copied from previous entry[ ] 📝 UpdateCOMPATIBILITY.md
[ ] 🔀 Executed flexible sync tests locally if modifying flexible sync[ ] 📦 Updated internal package version in consumingpackage.json
s (if updating internal packages)[ ] 📝 Public documentation PR created or is not necessary[ ] 💥Breaking
label has been applied or is not necessaryIf this PR adds or changes public API's:
[ ] typescript definitions file is updated[ ] jsdoc files updated