useEffect(()=>{if(Platform.OS==="android"){check(PERMISSIONS.ANDROID.CAMERA).then((result)=>{if(result===RESULTS.DENIED||result===RESULTS.GRANTED){returnrequest(PERMISSIONS.ANDROID.CAMERA);}else{console.log(result);thrownewError("카메라 지원 안 함");}}).catch(console.error);}else{check(PERMISSIONS.IOS.PHOTO_LIBRARY).then((result)=>{if(result===RESULTS.DENIED||result===RESULTS.LIMITED||result===RESULTS.GRANTED){returnrequest(PERMISSIONS.IOS.PHOTO_LIBRARY);}else{console.log(result);thrownewError("카메라 지원 안 함");}}).catch(console.error);}},[]);
이미지 업로드 샘플 코드
exportdefaultfunctionExpertDescriptionInfo(){const[selectedImage,setSelectedImage]=useState('');constchooseImage=()=>{constoptions:ImageLibraryOptions={mediaType:'photo',// 추가: 원하는 미디어 타입('photo', 'video' 등)을 지정.};launchImageLibrary(options,(response:ImagePickerResponse)=>{// 이미지 라이브러리로부터의 응답 처리if(response.didCancel){console.log('사용자가 이미지 선택을 취소했습니다.');}elseif(response.errorCode==='camera_unavailable'){console.log('카메라 사용이 불가능 합니다');}elseif(response.errorCode==='permission'){console.log('카메라 권한 설정이 잘못되었습니다');}else{console.log(response);constselectedImageUri=response.assets&&response.assets[0]?.uri;if(selectedImageUri){setSelectedImage(selectedImageUri);setProfile(selectedImageUri.uri);}else{// 선택된 이미지가 없는 경우의 처리}}});};return({selectedImage&&(<Imagestyle=source=/>));}