Skip to content

Commit 5cf8f43

Browse files
Saadnajmifacebook-github-bot
authored andcommitted
Re-enable direct debugging with JSC on iOS 16.4+ (#37874)
Summary: See: https://webkit.org/blog/13936/enabling-the-inspection-of-web-content-in-apps As of iOS 16.4 and above, JSContexts are no longer inspectable by default. Without this, we cannot attach Safari Web Inspector to the JSContext, AKA, we can no longer direct debug. This is a simple change to re-enable that. I decided to extend the `availability` check to macOS and tvOS as I'm certain both out of tree platform forks will want this fix as well. ## Changelog: [IOS] [FIXED] - Re-enable direct debugging with JSC on iOS 16.4+ Pull Request resolved: #37874 Test Plan: I launched RNTester in an iOS 15, and iOS 16.4 simulator. I then verified that we can attach Safari Web inspector to both simulators' JSContexts. Reviewed By: cortinico Differential Revision: D46719890 Pulled By: huntie fbshipit-source-id: 7fa5ae244577b7dbf3c9c16e65ad530cfc3e9cbd
1 parent 894b62c commit 5cf8f43

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

packages/react-native/ReactCommon/jsc/JSCRuntime.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,11 @@ JSCRuntime::JSCRuntime(JSGlobalContextRef ctx)
398398
stringCounter_(0)
399399
#endif
400400
{
401+
#ifndef NDEBUG
402+
if (__builtin_available(macOS 13.3, iOS 16.4, tvOS 16.4, *)) {
403+
JSGlobalContextSetInspectable(ctx_, true);
404+
}
405+
#endif
401406
}
402407

403408
JSCRuntime::~JSCRuntime() {

0 commit comments

Comments
 (0)