mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Guard JSGlobalContextSetInspectable behind a compile time check for Xcode 14.3+ (#39037)
Summary: An earlier [change](https://github.com/facebook/react-native/commit/8b1bf058c4bcbf4e5ca45b0056217266a1ed870c) I made (that huntie resubmitted) only works on Xcode 14.3+ (See more info [here](https://github.com/react-native-community/discussions-and-proposals/discussions/687)). This change adds the appropriate compiler checks so that the change is compatible with Xcode 14.2 and earlier, and therefore cherry-pickable to 0.71 and 0.72. The check works by checking if iOS 16.4+ is defined, which is the closest proxy I could find for "Is this Xcode 14.3". ## Changelog: [IOS] [CHANGED] - Guard `JSGlobalContextSetInspectable` behind a compile time check for Xcode 14.3+ Pull Request resolved: https://github.com/facebook/react-native/pull/39037 Test Plan: I can't actually test on Xcode 14.2 (it won't launch on my MacBook 😢), but I made a similar [PR](https://github.com/microsoft/react-native-macos/pull/1848) in React Native macOS, whose CI checks run against Xcode 14.2 and I'm getting passing checks there. Reviewed By: huntie Differential Revision: D48414196 Pulled By: NickGerleman fbshipit-source-id: ba10a6505dd11d982cc56c02bf9f7dcdc104bbec
This commit is contained in:
@@ -302,6 +302,9 @@ class JSCRuntime : public jsi::Runtime {
|
||||
#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_10_0
|
||||
#define _JSC_NO_ARRAY_BUFFERS
|
||||
#endif
|
||||
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 160400
|
||||
#define _JSC_HAS_INSPECTABLE
|
||||
#endif
|
||||
#endif
|
||||
#if defined(__MAC_OS_X_VERSION_MIN_REQUIRED)
|
||||
#if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_11
|
||||
@@ -399,7 +402,7 @@ JSCRuntime::JSCRuntime(JSGlobalContextRef ctx)
|
||||
#endif
|
||||
{
|
||||
#ifndef NDEBUG
|
||||
#ifdef TARGET_OS_MAC
|
||||
#ifdef _JSC_HAS_INSPECTABLE
|
||||
if (__builtin_available(macOS 13.3, iOS 16.4, tvOS 16.4, *)) {
|
||||
JSGlobalContextSetInspectable(ctx_, true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user