2016-08-18 39 views

回答

0

对于Android,在一个共享的喜好,你可以找到远程调试状态。 当我打开我的应用程序的sharedPreferences文件。

远程调试活跃

<map> 
    <boolean name="remote_js_debug" value="true" /> 
    <boolean name="hot_module_replacement" value="true" /> 
    <boolean name="reload_on_js_change" value="true" /> 
</map> 

远程调试不活跃

<map> 
    <boolean name="remote_js_debug" value="false" /> 
    <boolean name="hot_module_replacement" value="true" /> 
    <boolean name="reload_on_js_change" value="true" /> 
</map> 

所以(仅限Android),您可以使用这样一个模块:https://github.com/sriraman/react-native-shared-preferences检查远程调试活跃。

3

如何以编程方式检查是否启用了远程调试(今天在另一个SO问题上发现了这种特殊行为)。测试在RN 0.43和Chrome浏览器的调试器+阵营机调试:

const isDebuggingEnabled = (typeof atob !== 'undefined'); 

编辑:只注意到这个被问过了半年前:d ...好,我离开这里的后代。

1

跑遍了这个答案,但不满意检查atob或被限制为android。如果调试器正在运行,我发现一个函数似乎是一个非常好的代理,这是一个名为__REMOTEDEV__的全局变量。

就我而言,我希望看到的反应,本机调试器由应用程序发出的请求,我完整的代码如下:

/** 
* When the debugger is connected, remove the XHR polyfill 
* so that the chrome inspector will be able to see requests 
*/ 
if (typeof global.__REMOTEDEV__ !== 'undefined') { 
    const _XHR = GLOBAL.originalXMLHttpRequest ? 
     GLOBAL.originalXMLHttpRequest : 
     GLOBAL.XMLHttpRequest; 

    global.XMLHttpRequest = _XHR; 
} 
+0

'全球.__ REMOTEDEV__'是'undefined'即使在调试模式。 –

相关问题