inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

핸즈온 리액트 네이티브

9.14 :: file 경로 받아오기

UpdateProfileScreen 에서 사진 버튼 클릭시 오류발생.

132

dvdve

작성한 질문수 21

0

UpdateProfileScreen 에서

 <Pressable
    onPress={() => navigation.navigate(MainRoutes.IMAGE_PICKER)}
style={styles.imageButton}
  >...</Pressable>

여기 클릭 후 ImagePicker.js로 이동시

KakaoTalk_20250422_110135865.jpg.webp

이 오류가 발생하는 상태인데요

 

getLocalUri는 onSubmit 누를때 사용하게 되는 상태가
그전에 ImagePicker로 이동한후

getPhotos함수에서 assets 를 가져올때 오류가 발생하는거 같은데...

문제와 해결방법이 뭔지 궁금해서 질문드립니다!.

 

깃주소는 :
https://github.com/dvrakry/rn-photo2
입니다 감사합니다!

 

react-native

답변 2

1

김범준

안녕하세요,

 

이 문제는 React Native에서 제공하는 Image 컴포넌트의 문제입니다.

촬영 시기와 현재 버전에 차이가 있어서 생긴 문제이니 양해 부탁드립니다.

 

ph:// uri를 지원하는 expo-image 를 사용해서 해결하는 것이 가장 쉬운 방법입니다. https://docs.expo.dev/versions/unversioned/sdk/image/

 

expo-image 의 사용방법이 RN의 Image컴포넌트와 크게 차이가 없고, 문서가 잘 작성되어 있어서 찾아보며 적용하기 쉽습니다. import 부분만 조금 변경하면 되기때문에 수정할 부분도 적습니다.

0

dvdve

아 버전 차이로 인한 문제였군요 감사합니다 선생님
바로 수정/해결 했습니다!!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. dvdve님.

질문하신 문제는 iOS에서 발생하는 ph://로 시작하는 이미지 URI를 처리하는 과정에서 흔히 발생하는 오류입니다. 이 오류는 React Native 환경에서 expo-image-picker 혹은 expo-media-library 사용 시 자주 보고됩니다.

원인:

iOS에서는 사진 라이브러리에 접근할 때 ph://로 시작하는 URI를 반환합니다. 이 URI는 파일 경로가 아닌 참조 값이기 때문에, 이를 직접적으로 사용하려고 하면 오류가 발생할 수 있습니다. No suitable URL request handler found와 같은 오류 메시지가 나타납니다.

해결 방법:

  1. expo-media-library를 통해 getAssetInfoAsync 사용: 이미지 정보를 가져올 때 getAssetInfoAsync 함수를 활용하여 localUri를 얻어내고, 이를 사용하여 이미지를 처리합니다.

  2. 라이브러리 업데이트: expo-image-picker 또는 expo-media-library의 최신 버전을 사용하고 있는지 확인합니다. 최신 버전으로 업데이트하면, iOS와의 호환성이 보다 잘 지원됩니다.

  3. 권한 설정: Info.plist 파일에서 iOS의 사진 접근 권한이 제대로 설정되어 있는지 확인합니다.

참고할 만한 사례:

위의 방법들을 시도하여 문제를 해결해 보시길 추천드립니다. 라이브러리의 최신 가이드를 확인하고, Info.plist 파일에서의 권한 설정을 체크하여 문제가 해결되는지 확인해 보세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

expo 가 업데이트 되면서 문제가 발생한거같습니다.

0

342

2

navigation.replace() 작동하지 않습니다.

0

147

2

닉네임 수정 후 확인 버튼을 누를시 한글자만 출력됩니다.

0

177

2

모달창에서 버튼이 출력되지 않습니다.

0

104

2

로그인 에러 출력시 default값만 나옵니다.

0

144

2

안드로이드 기기에서 SignUp 화면 관련 질문드립니다.

0

85

2

간단한 질문 하나만 드리겠습니다!

0

76

2

text.trim() 부분에서 오류가 발생합니다.

0

124

2

profile 화면에서 내가 쓴 글이 나타나지 않습니다.

0

140

2

글 저장시 파일 저장위치 관련 질문드립니다!

0

111

2

구글 지도 API 관련 오류로 질문드립니다!

0

142

1

HeaderRight 버튼이 작동하지 않습니다.

0

88

2

사진이 나오지 않는 문제로 질문드립니다.

0

113

2

defaultProps 관련 문의 드립니당

0

244

2

이미지 목록을 받아오는 부분에서 IOS 에서 문제가 발생합니다.

0

129

2

안드로이드 기기에서 헤더 부분이 작동이 안됩니다.

0

87

2

[TypeError: unsubscribe is not a function (it is undefined)] 오류 발생으로 질문드립니다.

0

108

2

7.15 :: 상태 변수와 컴포넌트 언마운트 관련 질문드립니다!

0

98

2

SIgnIn SignUp 화면이 안나옵니다.

0

126

2

마지막 useEffect 부분 질문드립니다.

0

100

2

ImagPickerScreen을 만드는 과정에서 문제가 발생하여 글을 남깁니다.

0

208

2

eslint.config.mjs 파일에 plugin 설정방법

0

747

1

ESLint.json 파일이 생성되지 않습니다.

0

236

2

[환경변수 설정]

0

272

1