인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

SW M님의 프로필 이미지
SW M

작성한 질문수

배달앱 클론코딩 [with React Native]

실제기기에서 테스트 과정에서

작성

·

327

0

안녕하세요, 강좌의 내용대로 학습하고 테스트하는 과정에서 문제가 있어 질문 남깁니다.

 

가상 기기에서는 서버에 토큰도 잘 나오고, 회원가입 및 이후 단계 모두 정상적으로 작동하나

 

실제 기기(LG 스타일러스, android 7)를 연결하고, ip 변경 및 실제 연결 확인(adb devices)도 정상이고,

 

metro에서는 기기의 토큰도 잘 나오는 것을 확인했으나, 서버에서는 가상기기처럼 기기의 토큰 정보가 나오지 않아

 

회원가입도 안되는 걸로 확인됩니다.

어떤 부분을 확인해야 이 문제를 해결할 수 있을지 도움 받고 싶습니다

 

감사합니다. 

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

제가 잘 이해가 안 되는 것이, 회원가입은 토큰이 필요없는데 토큰 정보가 없다는 말씀이 무슨 뜻인가요?

서버에 아예 요청이 안 가는 거라면 콘솔에

adb reverse tcp:8081 tcp:8081 입력해보세요

SW M님의 프로필 이미지
SW M
질문자

빠른 답변 감사합니다. 제가 여러 개의 내용을 한꺼번에 적어서 혼란을 일으킨 것 같습니다. 

(첫번째 사진: 가상 기기 / 두번째 사진: 실제 기기) 입니다. 

가상기기의 경우 실행을 하면 그 기기의 토큰이 바로 나오는데, 실제 기기를 연결하면 토큰이 나오지 않아 이를 해결하기 위한 방법을 듣고 싶어 질문했습니다.

말씀주신 adb reverse tcp:8081 tcp:8081를 콘솔에 입력하고 실행을 해봤으나 결과는 아래 두번째 사진과 같았습니다 

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

실제 기기에서 백엔드 서버 주소 뭘로 하셨나요?

SW M님의 프로필 이미지
SW M
질문자

말씀 주신 백엔드 서버 주소라는게 .env 파일을 말씀하시는 걸까요??

이게 맞다면, 현재 사용중인 인터넷의 ip를 입력했습니다.

(작업 환경은 Mac M1입니다)

 

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

실제 기기에서 그 ip에 접속할 수 있는게 맞나요? 공유기나 같은 네트워크에 연결되어있나요?

SW M님의 프로필 이미지
SW M
질문자

작성한 ip는 와이파이 공유기이며, 실제 기기에서 해당 와이파이를 연결해서 인터넷 사용에 아무 문제가 없습니다. 작업중인 맥북의 와이파이와 실제기기의 와이파이는 동일합니다! (API_URL=http://와이파이:3105)

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

http://와이파이:3105

이것도 핸드폰에서 접속이 되시는 상태인거죠?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

ios/프로젝트명 폴더의 info.plist에

 <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

있나요?

SW M님의 프로필 이미지
SW M
질문자

자꾸 번거롭게 하는 것 같아 죄송합니다ㅠㅠ

와이파이:3105로 핸드폰에서 접속이 잘되고, 

 

ios/project폴더명 안에 말씀 주신 코드는 없었기에 넣고 진행을 해도 서버에서는 실제 기기의 토큰을 불러오지 못하고 있습니다... 

 

(사용중인 실제 기기의 안드로이드 운영 체제가 너무 낮아서 호환이 안된다거나, adb reverser ~ 이 코드를 프로젝트가 있는 경로에서 진행을 한 것인데 다른 곳에서 진행을 한 게 맞을까요 ㅜㅜ)

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

아, 순간적으로 아이폰으로 착각했네요.

일단 아까부터 계속 토큰을 불러오지 못한다고 하시는데, 토큰은 불러왔는데 서버로 요청(refreshToken, phoneToken)이 안 간다가 정확한 표현입니다. 안드로이드라면 제가 강좌에서 언급한대로 다음 것 확인해보세요.

android에서 http 요청이 안 보내지면

  • android/app/src/main/AndroidManifest.xml 에서 태그에 android:usesCleartextTraffic="true" 추가
SW M님의 프로필 이미지
SW M
질문자

현재 상황에 대해 잘못 말씀드려 죄송합니다. 

언급주신 부분도 이상없이 잘 작성되어 있습니다. 

 

 

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

android 7이 문제인 것 같기도 합니다. sdk 버전이 30 이상으로 앱을 만들고 있는데 7이면 누가라서 27인가 28정도일 것 같거든요.

SW M님의 프로필 이미지
SW M
질문자

네, 알겠습니다!

말씀 감사합니다! 

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

플리퍼나 RN디버거 연결되어있으면 네트워크 요청이 안 간다는 이슈도 본 기억이 납니다.

SW M님의 프로필 이미지
SW M

작성한 질문수

질문하기