我正在尝试在我的反应性应用程序中使用react-native-fbsdk.昨天工作很好.但是,今天它提供了一个奇怪的错误,指出RCT
JSONStringify()遇到以下错误:JSON写入中的无效类型(NSURL).
RN v0.42.0
这是我的代码:
_fbAuth(error,result) { if (error) { console.log("error"); alert("login has error: " + result.error); } else if (result.isCancelled) { console.log("login cancelled"); alert("login is cancelled."); } else { AccessToken.getCurrentAccessToken().then((data) => { console.log("login success"); console.log(data.accessToken.toString()); let accessToken = data.accessToken; alert(data.accessToken.toString()); const responseInfoCallback = (error,result) => { if (error) { console.log(error); } else { console.log(result); } } const infoRequest = new GraphRequest( '/me',{ accessToken: accessToken,parameters: { fields: { string: 'email,name,first_name,middle_name,last_name' } } },responseInfoCallback ); // Start the graph request. new GraphRequestManager().addRequest(infoRequest).start(); }); } } render() { console.log("in new render"); return ( <View style={styles.container}> <LoginButton publishPermissions={["publish_actions"]} onLoginFinished={this._fbAuth} onlogoutFinished={() => alert("logout.")}/> </View> ); }
调试器中打印的错误信息:
在函数responseInfoCallback中调用graphAPI时会收到上述错误.任何想法发生了什么?
更新1:
只有当远程调试器打开时,才会发生此错误!否则没有发生.但是没有远程调试器,我无法继续开发应用程序.有什么其他方法可以看到远程调试器以外的反应原生应用程序的日志语句吗?
更新2:
RCTJSONStringify()错误只发生在代理后面.并且https访问呼叫在代理下不起作用.我在一个开放的网络中测试,工作正常.我想,它是向RN应用程序添加一些代理信息.我认为这与APP transport security有关