안녕하세요 VeriLog입니다.
요즘에 IOS 앱 개발을 하는 중인데요. 개발 중에 많은 어려움을 겪었던 react-native-permission 세팅하는 법에 대해서 포스팅 하려고 합니다.
처음에는 블로그에 나와있는대로 세팅을 했었는데, 계속해서 오류가 나서 공식 홈페이지에 나와있는대로 세팅하고 성공했습니다.
https://www.npmjs.com/package/react-native-permissions
react-native-permissions
An unified permissions API for React Native on iOS, Android and Windows. Latest version: 3.8.0, last published: a month ago. Start using react-native-permissions in your project by running `npm i react-native-permissions`. There are 254 other projects in t
www.npmjs.com
1. package.json 파일에 react-native-permission 추가
- pakage.json 파일을 열어서 react-native-permission을 추가해주세요.
- 저는 3.8.0 버전을 사용했습니다.
- 이후에, 아래에 있는 reactNativePermissionsIOS를 추가해주세요. (사용하실 것들만 남겨두고 나머지는 지우셔도 됩니다.)
{
"reactNativePermissionsIOS": [
"AppTrackingTransparency",
"BluetoothPeripheral",
"Calendars",
"Camera",
"Contacts",
"FaceID",
"LocationAccuracy",
"LocationAlways",
"LocationWhenInUse",
"MediaLibrary",
"Microphone",
"Motion",
"Notifications",
"PhotoLibrary",
"PhotoLibraryAddOnly",
"Reminders",
"Siri",
"SpeechRecognition",
"StoreKit"
],
- 제가 세팅한 환경은 다음과 같습니다.
2. package.json 파일 "scripts"에 "postinstall" 추가
- package.json 파일을 보면 "scripts"라고 되어 있는 부분이 있습니다. 거기에 "postinstall" 부분을 추가해주세요.
- 추가하게 되면, 따로 pod install을 안해도 npm install만 수행하면 자동으로 pod install 까지 해줍니다.
3. Podfile 수정
- Podfile은 따로 수정 안하셔도 됩니다!
- 다른 블로그를 보니 Podfile에서 설정하도록 되어 있는데, 그 부분은 이제 안하셔도 됩니다.
4. ios > 프로젝트명 > info.plist 추가
- info.plist 파일에 사용하실 부분만 추가하시면 됩니다.
<key>NSAppleMusicUsageDescription</key>
<string>YOUR TEXT</string>
<key>NSBluetoothAlwaysUsageDescription</key>
<string>YOUR TEXT</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>YOUR TEXT</string>
<key>NSCalendarsUsageDescription</key>
<string>YOUR TEXT</string>
<key>NSCameraUsageDescription</key>
<string>YOUR TEXT</string>
<key>NSContactsUsageDescription</key>
<string>YOUR TEXT</string>
<key>NSFaceIDUsageDescription</key>
<string>YOUR TEXT</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>YOUR TEXT</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>YOUR TEXT</string>
<key>NSLocationTemporaryUsageDescriptionDictionary</key>
<dict>
<key>YOUR-PURPOSE-KEY</key>
<string>YOUR TEXT</string>
</dict>
<key>NSLocationWhenInUseUsageDescription</key>
<string>YOUR TEXT</string>
<key>NSMicrophoneUsageDescription</key>
<string>YOUR TEXT</string>
<key>NSMotionUsageDescription</key>
<string>YOUR TEXT</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>YOUR TEXT</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>YOUR TEXT</string>
<key>NSRemindersUsageDescription</key>
<string>YOUR TEXT</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>YOUR TEXT</string>
<key>NSSiriUsageDescription</key>
<string>YOUR TEXT</string>
<key>NSUserTrackingUsageDescription</key>
<string>YOUR TEXT</string>
5. node_modules 폴더 삭제 & npm i
- 기존에 설치되어 있는 node_modules 폴더를 지우신 후, npm i 또는 npm install 명령어로 다시 설치하시면 됩니다.
- npm 설치 후, 자동으로 pod install까지 수행되게 됩니다.
6. npm run ios
- npm run ios를 실행해보시면 제대로 돌아가는 것을 확인하실 수 있습니다.
다들 오류 잘 해결하시길 바라겠습니다.
'웹&앱 개발' 카테고리의 다른 글
간호사 근무표테스트: 듀티테스트 (1) | 2024.07.02 |
---|---|
듀티메이커: 간호사 근무표 작성 프로그램 (24) | 2024.05.23 |
국시플래너: 국가고시 준비를 위한 문제은행형 플랫폼 (47) | 2024.05.22 |
React Native Xcode 빌드 시 RCTBridgeModule.h file not found 에러 해결 (2) | 2023.05.15 |
ReactNative Xcode 14.3 Yoga.cpp 이슈 해결 (0) | 2023.05.03 |