2016-06-28 7 views
18

Mam aplikację, która im przy użyciu pobierania do uwierzytelniania użytkownika. działało to do kilku dni temu i nic nie zmieniłem. tylko zmodernizowany z reakcji 0,27 na 0,28, nie pobieranie nie działa.Reakcyjne-Natywne pobieranie, żądanie sieciowe nie powiodło się. nie używając localhost

Szukałem prawie 2 dni i przeczytałem prawie wszystkie pytania w stackoverflow. większość użytkowników próbuje pobrać coś z hosta lokalnego, a kiedy zmieniają go na aktualny adres IP, uruchamia go. ale nie pobierając niczego z localhost, również mój kod działał.

tutaj jest mój kod:

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();

starałem się zrobić kilka nowych projektów, proste, wystarczy stosować prostą pobierał przykład Fro tutoriale, dało ten sam błąd. Próbowałem otworzyć moją stronę internetową, próbując się z nią połączyć, poprzez przeglądarkę w emulatorze, działa, ale wygląda na to, że moja aplikacja nie może połączyć się z żadną witryną/ip. daje ten błąd w konsoli 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) 

faktycznie mam ten sam problem jak ten użytkownik tutaj: React-native network request always fails

UPDATE: info.plist from xcode

każda pomoc będzie mile widziana!

+0

Co masz pod 'NSAppTransportSecurity' w pliku Info.plist dla swojej aplikacji? –

+0

Dzięki za odpowiedź. dodałem zrzut ekranu do głównego postu. możesz go również zobaczyć tutaj http://i.stack.imgur.com/vvqMk.png – Ataomega

+0

@Ataomega Czy próbowałeś ponownie uruchomić swój komputer? Miałem ten sam problem i naprawił go prosty restart. –

Odpowiedz

46

Należy sprawdzić ten link: https://github.com/facebook/react-native/issues/8118

Wygląda na to, że problem pojawił się w React Native 0,28. Rozwiązaniem jest "Zezwalaj na ładunki arbitralne" w pliku info.plist znajdującym się w folderze kompilacji ios>, który tworzy React.

Jeśli otworzysz cały folder ios w xcode, a następnie otwórz ten plik info.plist, możesz utworzyć nowy klucz, aby zezwolić na ładunki arbitralne i powinien rozwiązać problem.

Allow Arbitrary Loads

+1

Problem rozwiązany już, dzięki w każdym razie – Ataomega

+1

@Ataomega jak naprawiłeś ten problem.Mam to zmierzyć w andriod – Carlos

+0

@Carlos jako ostatnia odpowiedź mówi ... – Ataomega

Powiązane problemy