2017-03-06 162 views
14

我正嘗試在我的react-native應用程序中使用react-native-fbsdk。它一直工作得很好,直到昨天。但是,今天它給出了一個奇怪的錯誤,說明RCTJSONStringify()遇到以下錯誤:JSON寫入(NSURL)中的無效類型。react-native錯誤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> 
    ); 
    } 

印在調試器的錯誤信息:

Error message

我得到上述錯誤同時呼籲函數中的graphAPI responseInfoCallbac k。任何想法發生了什麼?

更新1:

此錯誤發生,只有當遠程調試器被接通!!否則它不會發生。但沒有遠程調試器,我無法繼續開發應用程序。除遠程調試器外,還有其他方法可以查看react-native應用程序的日誌語句嗎?

更新2:

的RCTJSONStringify()錯誤發生僅次於代理。並且https訪存調用在代理下也不起作用。我在一個開放的網絡中測試,它工作正常。我想,這是添加一些代理信息給RN應用程序。我認爲它與APP transport security

回答

1

如果關閉調試器,可以在XCode控制檯中看到正確的錯誤。從Xcode菜單查看/調試區域/激活控制檯(如果它未自動啓用)。

+0

它的工作原理!但這是令人厭煩的。每次點擊運行按鈕,完成應用程序需要幾分鐘的時間。我猜這個錯誤是由於代理問題,因爲我不能做任何網絡調用。 –

+0

最重要的是,我使用了redux-logger,它在xcode控制檯中看起來很神祕。有點令人沮喪的工作在Xcode控制檯而不是RN調試器。 –