How to use the react-native-permissions.PERMISSIONS.IOS function in react-native-permissions

To help you get started, we’ve selected a few react-native-permissions examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github react-native-community / react-native-permissions / example / App.tsx View on Github external
StatusBar,
  Text,
  View,
  GestureResponderEvent,
} from 'react-native';

import RNPermissions, {
  PERMISSIONS,
  RESULTS,
  PermissionStatus,
  Permission,
  NotificationsResponse,
} from 'react-native-permissions';

// eslint-disable-next-line @typescript-eslint/no-unused-vars
const {SIRI, ...PERMISSIONS_IOS} = PERMISSIONS.IOS; // remove siri (certificate required)

const PLATFORM_PERMISSIONS = Platform.select<
  typeof PERMISSIONS_IOS | typeof PERMISSIONS.ANDROID | {}
>({
  ios: PERMISSIONS_IOS,
  android: PERMISSIONS.ANDROID,
  default: {},
});

const PERMISSIONS_VALUES: Permission[] = Object.values(PLATFORM_PERMISSIONS);

const colors: {[key: string]: string} = {
  unavailable: '#cfd8dc',
  denied: '#ff9800',
  granted: '#43a047',
  blocked: '#e53935',
github berty / berty / js / packages / components / chat / common.tsx View on Github external
onPress={async () => {
									setActivateTab(TabItems.Camera)
									try {
										const status = await check(
											Platform.OS === 'ios' ? PERMISSIONS.IOS.CAMERA : PERMISSIONS.ANDROID.CAMERA,
										)
										if (status !== RESULTS.GRANTED) {
											try {
												const status = await request(
													Platform.OS === 'ios'
														? PERMISSIONS.IOS.CAMERA
														: PERMISSIONS.ANDROID.CAMERA,
												)
												if (status !== RESULTS.GRANTED) {
													setSecurityAccessVisibility(true)
													return
												}
											} catch (err) {
												console.log(err)
											}
										}
									} catch (err) {
										console.log(err)
									}
									try {
										await ImagePicker.clean()
									} catch (err) {}
github berty / berty / js / packages / components / settings / Bluetooth.tsx View on Github external
const checkBluetoothPermission = async (): Promise => {
	let permission =
		Platform.OS === 'ios'
			? PERMISSIONS.IOS.BLUETOOTH_PERIPHERAL
			: PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION
	try {
		let result = await check(permission)
		switch (result) {
			case RESULTS.UNAVAILABLE:
				console.log('Bluetooth is not available (on this device / in this context)')
				break
			case RESULTS.DENIED:
				console.log('The Bluetooth permission has not been requested / is denied but requestable')
				break
			case RESULTS.LIMITED:
				console.log('The Bluetooth permission is limited: some actions are possible')
				break
			case RESULTS.GRANTED:
				console.log('The Bluetooth permission is granted')
				return true
github berty / berty / js / packages / components / chat / file-uploads / AddFileMenu.tsx View on Github external
onPress: async () => {
				setActiveTab(TabItems.Gallery)
				if (Platform.OS === 'ios') {
					try {
						const status = await check(PERMISSIONS.IOS.PHOTO_LIBRARY)
						if (status !== RESULTS.GRANTED) {
							try {
								const status = await request(PERMISSIONS.IOS.PHOTO_LIBRARY)
								if (status !== RESULTS.GRANTED) {
									setSecurityAccessVisibility(true)
									return
								}
							} catch (err) {
								console.log(err)
							}
						}
					} catch (err) {
						console.log(err)
					}
				}
			},
		},
github berty / berty / js / packages / components / main / bluetooth.ts View on Github external
export const requestBluetoothPermission = async (): Promise => {
	let permission =
		Platform.OS === 'ios'
			? PERMISSIONS.IOS.BLUETOOTH_PERIPHERAL
			: PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION
	try {
		let result = await request(permission)
		if (result === RESULTS.GRANTED) {
			return true
		}
	} catch (err) {}
	return false
}
github guardian / editions / projects / Mallard / src / helpers / location-permission.ts View on Github external
import {
    check,
    request,
    PERMISSIONS,
    PermissionStatus,
} from 'react-native-permissions'
import { Platform } from 'react-native'
import { ApolloClient } from 'apollo-client'
import { refreshWeather } from './weather'

const LOCATION_PERMISSION = Platform.select({
    ios: PERMISSIONS.IOS.LOCATION_WHEN_IN_USE,
    android: PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION,
})

const { resolveLocationPermissionStatus, requestLocationPermission } = (() => {
    let promise: Promise | undefined

    const resolveLocationPermissionStatus = () => {
        if (promise) return promise
        promise = check(LOCATION_PERMISSION)
        return promise
    }

    const requestLocationPermission = async (
        apolloClient: ApolloClient,
    ): Promise => {
        promise = request(LOCATION_PERMISSION)
github berty / berty / js / packages / components / chat / record / RecordComponent.tsx View on Github external
const acquireMicPerm = async (): Promise => {
	try {
		const status = await check(
			Platform.OS === 'ios' ? PERMISSIONS.IOS.MICROPHONE : PERMISSIONS.ANDROID.RECORD_AUDIO,
		)
		if (status === RESULTS.GRANTED) {
			return MicPermStatus.GRANTED
		}

		try {
			const status = await request(
				Platform.OS === 'ios' ? PERMISSIONS.IOS.MICROPHONE : PERMISSIONS.ANDROID.RECORD_AUDIO,
			)

			if (status === RESULTS.GRANTED) {
				return MicPermStatus.NEWLY_GRANTED
			}

			return MicPermStatus.DENIED
		} catch (err) {
github guardian / editions / projects / Apps / editionsSrc / src / helpers / location-permission.ts View on Github external
import {
    check,
    request,
    PERMISSIONS,
    PermissionStatus,
} from 'react-native-permissions'
import { Platform } from 'react-native'
import { ApolloClient } from 'apollo-client'
import { refreshWeather } from './weather'

const LOCATION_PERMISSION = Platform.select({
    ios: PERMISSIONS.IOS.LOCATION_WHEN_IN_USE,
    android: PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION,
})

const { resolveLocationPermissionStatus, requestLocationPermission } = (() => {
    let promise: Promise | undefined

    const resolveLocationPermissionStatus = () => {
        if (promise) return promise
        promise = check(LOCATION_PERMISSION)
        return promise
    }

    const requestLocationPermission = async (
        apolloClient: ApolloClient,
    ): Promise => {
        promise = request(LOCATION_PERMISSION)
github pontusab / react-native-image-manipulator / Example / App.js View on Github external
TouchableOpacity,
  Text,
  Image,
  Platform,
  Dimensions
} from 'react-native';
import * as ImageManipulator from 'react-native-image-manipulator';
import { request, PERMISSIONS } from 'react-native-permissions';
import ImageEditor from './ImageEditor';
import * as MediaLibrary from 'react-native-media-library';

const { width } = Dimensions.get('window');

const PERMISSION =
  Platform.OS === 'ios'
    ? PERMISSIONS.IOS.PHOTO_LIBRARY
    : PERMISSIONS.ANDROID.READ_EXTERNAL_STORAGE;

const styles = {
  container: {
    flex: 1,
    flexDirection: 'column',
    backgroundColor: 'black'
  },
  preview: {
    flex: 1,
    justifyContent: 'flex-end',
    alignItems: 'center'
  },
  capture: {
    flex: 0,
    backgroundColor: 'black',
github moaazsidat / react-native-qrcode-scanner / index.js View on Github external
componentDidMount() {
    if (Platform.OS === 'ios') {
      request(PERMISSIONS.IOS.CAMERA).then((cameraStatus) => {
        this.setState({
          isAuthorized: cameraStatus === RESULTS.GRANTED,
          isAuthorizationChecked: true,
        });
      });
    } else if (
      Platform.OS === 'android' &&
      this.props.checkAndroid6Permissions
    ) {
      PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.CAMERA, {
        title: this.props.permissionDialogTitle,
        message: this.props.permissionDialogMessage,
      }).then(granted => {
        const isAuthorized = granted === PermissionsAndroid.RESULTS.GRANTED;

        this.setState({ isAuthorized, isAuthorizationChecked: true });