2016-06-28 83 views
18

我有一個應用程序,即時通訊使用提取認證用戶。它一直在工作到幾天前,我沒有改變任何東西。剛剛從反應0.27升級到0.28,沒有獲取不工作。React-Native提取,網絡請求失敗。不使用本地主機

我已經搜索了近2天,我已經閱讀了幾乎所有的問題在stackoverflow。大多數用戶試圖從本地主機獲取某些內容,並且當他們將其更改爲實際的IP地址時,他們就可以使用它。 但我沒有從本地主機獲取任何東西,也是我的代碼曾經工作。

這裏是我的代碼:

fetch('http://somesite.com/app/connect', { 
 
     method: 'POST', 
 
     headers: { 
 
     'Accept': 'application/json', 
 
     'Content-Type': 'application/json', 
 
     'language':'en-US', 
 
     'Authorization': 'Bearer ' + access_token, 
 
     }, 
 
     body: JSON.stringify({ 
 
     uid: uid, 
 
     refresh_token: refresh_token, 
 
     token: access_token, 
 
     device: device_id, 
 
     device_name: device_name, 
 
     }) 
 
    }) 
 
.then((response) => response.json()) 
 
.then((responseData) => { 
 
    console.log(JSON.stringify(responseData.body)) 
 
}) 
 
.catch((err)=> { 
 
    console.log('Some errors occured'); 
 
    console.log(err); 
 
}) 
 
.done();

我試圖做一些新的項目,簡單,只需用一個簡單的例子取來回教程,它給了同樣的錯誤。我試圖打開我的網站,即時嘗試連接到它,通過模擬器中的瀏覽器,它的工作原理,但似乎通過我的應用程序無法連接到任何網站/ IP。它給這個錯誤在Chrome控制檯:

TypeError: Network request failed 
    at XMLHttpRequest.xhr.onerror (http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:28193:8) 
    at XMLHttpRequest.dispatchEvent (http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:14591:15) 
    at XMLHttpRequest.setReadyState (http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:29573:6) 
    at XMLHttpRequest.__didCompleteResponse (http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:29431:6) 
    at http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:29506:52 
    at RCTDeviceEventEmitter.emit (http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:13428:23) 
    at MessageQueue.__callFunction (http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:11999:23) 
    at http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:11906:8 
    at guard (http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:11857:1) 
    at MessageQueue.callFunctionReturnFlushedQueue (http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:11905:1) 

其實我有同樣的問題,因爲該用戶的位置:React-native network request always fails

UPDATE: info.plist from xcode

任何幫助將不勝感激!

+0

你有沒有在'NSAppTransportSecurity'在你的應用程序的Info.plist文件是什麼? –

+0

感謝您的回覆。我已將屏幕截圖添加到主帖子中。你也可以在這裏看到http://i.stack.imgur.com/vvqMk.png – Ataomega

+0

@Ataomega你有沒有嘗試重新啓動你的電腦?我有這個相同的問題,只是一個簡單的重新啓動修復它。 –

回答

46

你應該看看這個鏈接:https://github.com/facebook/react-native/issues/8118

看起來問題出現在本機作出反應0.28。解決方法是在React創建的ios> build文件夾中找到的info.plist文件中「允許任意加載」。

如果你打開xcode中的整個ios文件夾,然後打開這個info.plist文件,你可以創建一個新的密鑰允許任意負載,它應該可以解決你的問題。

Allow Arbitrary Loads

+1

問題已經解決了,謝謝反正 – Ataomega

+1

@Ataomega你是怎麼解決這個問題的呢我在andriod中面對同樣的問題 – Carlos

+0

@Carlos作爲最後答案說... – Ataomega

相關問題