Yonah Forst 07ed2b1416 Merge pull request #7 from xirc/master | 8 年之前 | |
---|---|---|
ReactNativePermissions.xcodeproj | 8 年之前 | |
LICENSE | 8 年之前 | |
RCTConvert+RNPermissionsStatus.h | 8 年之前 | |
RCTConvert+RNPermissionsStatus.m | 8 年之前 | |
README.md | 8 年之前 | |
ReactNativePermissions.android.js | 8 年之前 | |
ReactNativePermissions.h | 8 年之前 | |
ReactNativePermissions.ios.js | 8 年之前 | |
ReactNativePermissions.m | 8 年之前 | |
ReactNativePermissions.podspec | 8 年之前 | |
package.json | 8 年之前 |
Check user permissions (iOS only)
Some iOS features require the user to grant permission before you can access them.
This library lets you check the current status of those permissions. (Note: it doesn’t prompt the user, just silently checks the permission status)
The current supported permissions are:
const Permissions = require('react-native-permissions');
//....
componentDidMount() {
Permissions.locationPermissionStatus()
.then(response => {
if (response == Permissions.StatusUndetermined) {
console.log("Undetermined");
} else if (response == Permissions.StatusDenied) {
console.log("Denied");
} else if (response == Permissions.StatusAuthorized) {
console.log("Authorized");
} else if (response == Permissions.StatusRestricted) {
console.log("Restricted");
}
});
}
//...
As shown in the example, methods return a promise with the authorization status as an int
. You can compare them to the following statuses: StatusUndetermined
, StatusDenied
, StatusAuthorized
, StatusRestricted
locationPermissionStatus()
- checks for access to the user’s current location. Note: AuthorizedAlways
and AuthorizedWhenInUse
both return StatusAuthorized
cameraPermissionStatus()
- checks for access to the phone’s camera
microphonePermissionStatus()
- checks for access to the phone’s microphone
photoPermissionStatus()
- checks for access to the user’s photo album
contactsPermissionStatus()
- checks for access to the user’s address book
eventPermissionStatus(eventType)
- requires param eventType
; either reminder
or event
. Checks for access to the user’s calendar events and reminders
bluetoothPermissionStatus()
- checks the authorization status of the CBPeripheralManager
(for sharing data while backgrounded). Note: Don’t use this if you’re only using CBCentralManager
notificationPermissionStatus()
- checks if the user has authorized remote push notifications. Note: Apple only tells us if notifications are authorized or not, not the exact status. So this promise only returns StatusUndetermined
or StatusAuthorized
. You can determine if StatusUndetermined
is actually StatusRejected
by keeping track of whether or not you’ve already asked the user for permission.
You also can open the Settings app.
openSettings()
- open the Settings app
npm install --save react-native-permissions