1 // Copyright 2015-present 650 Industries. All rights reserved. 2 3 4 import Foundation 5 6 class EXDevMenuDevSettings: NSObject { 7 getDevSettingsnull8 public static func getDevSettings() -> [String: Bool] { 9 var devSettings: [String: Bool] = [:]; 10 11 devSettings["isDebuggingRemotely"] = false 12 devSettings["isElementInspectorShown"] = false; 13 devSettings["isHotLoadingEnabled"] = false; 14 devSettings["isPerfMonitorShown"] = false; 15 16 devSettings["isRemoteDebuggingAvailable"] = false; 17 devSettings["isElementInspectorAvailable"] = false; 18 devSettings["isHotLoadingAvailable"] = false; 19 devSettings["isPerfMonitorAvailable"] = false; 20 devSettings["isJSInspectorAvailable"] = false 21 22 let manager = DevMenuManager.shared 23 24 if let bridge = manager.currentBridge, 25 let bridgeSettings = bridge.module(forName: "DevSettings") as? RCTDevSettings { 26 27 28 let perfMonitor = bridge.module(forName: "PerfMonitor") 29 let isPerfMonitorAvailable = perfMonitor != nil 30 31 devSettings["isDebuggingRemotely"] = bridgeSettings.isDebuggingRemotely; 32 devSettings["isElementInspectorShown"] = bridgeSettings.isElementInspectorShown; 33 devSettings["isHotLoadingEnabled"] = bridgeSettings.isHotLoadingEnabled; 34 devSettings["isPerfMonitorShown"] = bridgeSettings.isPerfMonitorShown; 35 devSettings["isRemoteDebuggingAvailable"] = bridgeSettings.isRemoteDebuggingAvailable 36 devSettings["isHotLoadingAvailable"] = bridgeSettings.isHotLoadingAvailable 37 devSettings["isPerfMonitorAvailable"] = isPerfMonitorAvailable 38 devSettings["isJSInspectorAvailable"] = bridge.batched.isInspectable 39 40 let isElementInspectorAvailable = manager.currentManifest?.isDevelopmentMode() 41 devSettings["isElementInspectorAvailable"] = isElementInspectorAvailable 42 } 43 44 return devSettings 45 } 46 47 } 48