https://github.com/marcshilling/react-native-image-picker
https://goshakkk.name/react-native-camera-roll-image-picker/
https://facebook.github.io/react-native/docs/imagepickerios.html
기기의 camera roll에 접근하기 위해 아래의 스텝 필요
photo library usage 선언
RCTCemeraRoll library 연결
photo library usage 선언
현재위치, 카메라, 연락처 등 iOS에서 private 데이터는 사용자 허가 필요.
app metadata에서 목록화 하면 됨
react native 프로젝트 내 iOS 폴더에서 플젝이름.xcodeproj 열기
왼쪽 플젝이름 누르고 오른쪽 Info 탭 선택
Privacy - Photo Library Usage Description 이나
NSPhotoLibraryUsageDescription 세팅 필요
RCTCemeraRoll library 연결
React Native에서 제공하는 ImagePickerIOS 사용해야함
라이브러리 링크: https://facebook.github.io/react-native/docs/linking-libraries-ios.html
finder에서 node_modules/react-native/Libraries/CameraRoll 밑에 있는
CameraRoll.xcodproj을
Xcode 안에 왼쪽 프로젝트 하단 Libraries 밑에 (drag해서)넣어준다
왼쪽 플젝이름 다시 누르고 우측에서 Build Phases 탭을 선택하고 Link Binary With Libraries 확장후 플러스 버튼 눌러 libRCTCameraRoll.a 추가
여기까지 했으면 Xcode 종료
개발.
react-native의 ImagePickerIOS 사용.
https://facebook.github.io/react-native/docs/imagepickerios.html
import React, { Component } from 'react';
import { View, Text, Button, ImagePickerIOS, Image } from 'react-native';
class Detail extends Component {
state = { image: null };
componentDidMount() {
this.pickImage();
}
pickImage() {
ImagePickerIOS.openSelectDialog({}, imageUri => {
this.setState({ image: imageUri });
}, error => console.error(error));
}
render() {
return (
<View style={{ flex: 1 }}>
{this.state.image?
<Image style={{ flex: 1 }} source={{ uri: this.state.image }} /> :
null
}
</View>
)
}
}
export default Detail;
---
에러
시뮬레이터에서 안 됨
실제 폰 꽂아야만 됨.
tutorial에서는 simulator인것 같은데?
'개발 > React, React Native' 카테고리의 다른 글
color-blend-mode (0) | 2017.04.11 |
---|---|
full size image background 효과 (0) | 2017.04.11 |
storage관련 (0) | 2017.04.11 |
리액트 네이티브 유데미 강의 섹션9~ (0) | 2017.03.28 |
리액트 네이티브 유데미 강의 섹션1~8 (0) | 2017.03.16 |