권한 관련해서 계속 blocked 가 뜬다...
분명 난 재대로 복붙을 했는데...???
일단 react-native에서 권한을 부여하는 방법을 araboza
권한 부여의 대표주자 react-native-permissions 를 설치해주자.
을 수정해야한다.
<uses-permission android:name="android.permission.INTERNET" />
아래에
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
를 붙여넣어보자.
나는 녹음기능을 만들계획이라 스토리지 읽고 쓰기랑 record_audio만 가져왔다.
다른거 사용할 분들은 다른거 찾아서 붙여넣기 ㄱㄱ
그 다음
작업할 파일에서(나는 테스트용이라 App.js에 걍 작업함)
import { PERMISSIONS, request } from "react-native-permissions";
//임포트 해주고
const requestPermission = () => {
request(PERMISSIONS.ANDROID.RECORD_AUDIO).then(response => {
console.log(response);
});
};
//대충 이런식으로 사용한다. useEffect에서 처음에 물어보도록 해도되고 아니면 버튼누르면 가져오도록 해도 상관 없다. 일단나는 버튼누르면 가져오도록 사용함.
이런식으로 사용하면 된다.
그럴때 AndroidManifest.xml을 조금 더 수정해주면 된다.
<uses-permission android:name="android.permission.RECORD_AUDIO" android:required="true"/>
이런식으로 android:required="true" 속성을 넣어주고 다시 빌드하니 권한을 잘 가져오더라..
문제 해결!