我正在尝试使用反应本机fbsdk在我的反应本机应用程序中。直到昨天为止都运行良好。但是,今天它给出了一个奇怪的错误RCTJSONStringify() 遇到以下错误: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>
);
}
调试器中打印的错误信息:
在函数中调用 graphAPI 时出现上述错误响应信息回调。有什么想法发生了什么吗?
更新1:
仅当远程调试器打开时才会发生此错误!否则它就不会发生。但如果没有远程调试器,我无法继续开发应用程序。除了远程调试器之外,还有其他方法可以查看react-native应用程序的日志语句吗?
更新2:
RCTJSONStringify() 错误仅发生在代理后面。而且 https 获取调用在代理下也不起作用。我在开放网络中测试过,效果很好。我猜,是给RN app添加一些代理信息。我认为这与APP传输安全 https://facebook.github.io/react-native/docs/running-on-device.html#app-transport-security
如果关闭调试器,您可以在 XCode 控制台中看到正确的错误。如果未自动启用,请从 Xcode 菜单“查看/调试区域/激活控制台”访问它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)