Info.plist file for react native ios app using expo SDK Info.plist file for react native ios app using expo SDK ios ios

Info.plist file for react native ios app using expo SDK


If you are using expo, it will not expose the entire info.plist to you.

Expo Workaround

You can add an object as a child of ios object in the app.json like so:

"infoPlist": {  "NSCameraUsageDescription": "This app uses the camera to scan barcodes on event tickets."},

Which will write to the native level but this is limited. Here is a list of all the keys you can access with while using expo

<key>NSCameraUsageDescription</key><string>Allow Expo experiences to use your camera</string><key>NSContactsUsageDescription</key><string>Allow Expo experiences to access your contacts</string><key>NSLocationWhenInUseUsageDescription</key><string>Allow Expo experiences to use your location</string><key>NSMicrophoneUsageDescription</key><string>Allow Expo experiences to access your microphone</string><key>NSMotionUsageDescription</key><string>Allow Expo experiences to access your device's accelerometer</string><key>NSPhotoLibraryAddUsageDescription</key><string>Give Expo experiences permission to save photos</string><key>NSPhotoLibraryUsageDescription</key><string>Give Expo experiences permission to access your photos</string>

View expos official docs here

React-native Init

If you need more low level access to your project, consider using react-native init MyProject instead of create-react-native-app MyProject.

This will provide you with full access to all ios and android bundles.

React-native eject

Or if you already built your app via create-react-native-app MyProject you can run react-native eject to get the build of react-native-init MyProject.

Be cautious, there is no returning once this command is ran.