Không có mô tả

Yonah Forst ea256db292 Merge pull request #4 from joenoon/jn-contactsFramework 9 năm trước cách đây
ReactNativePermissions.xcodeproj 4d436e8865 added authorization methods and status enum 9 năm trước cách đây
LICENSE bf1fd05ca3 first commit 9 năm trước cách đây
RCTConvert+RNPermissionsStatus.h 4d436e8865 added authorization methods and status enum 9 năm trước cách đây
RCTConvert+RNPermissionsStatus.m 4d436e8865 added authorization methods and status enum 9 năm trước cách đây
README.md 8cb7bc937b Update README 9 năm trước cách đây
ReactNativePermissions.android.js 46a34ac1da Adding placeholder file so Android doesn't crash on the require statement 9 năm trước cách đây
ReactNativePermissions.h 4d436e8865 added authorization methods and status enum 9 năm trước cách đây
ReactNativePermissions.ios.js bf1fd05ca3 first commit 9 năm trước cách đây
ReactNativePermissions.m ea256db292 Merge pull request #4 from joenoon/jn-contactsFramework 9 năm trước cách đây
ReactNativePermissions.podspec 734fb1aebd add ios9 Contacts framework check 9 năm trước cách đây
package.json ed0003c71e added method to open settings. bump! 9 năm trước cách đây

README.md

React Native Permissions

Check user permissions (iOS only)

##What 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:

  • Location
  • Camera
  • Microhone
  • Photos
  • Contacts
  • Event
  • Bluetooth (Peripheral role. Don't use for Central only)
  • RemoteNotifications (Push Notifications)

####Example

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");
      }
    });
  }
//...

####API

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

##Setup

npm install --save react-native-permissions

###iOS

  • Run open node_modules/react-native-permissions
  • Drag ReactNativePermissions.xcodeproj into the Libraries group of your app's Xcode project
  • Add libReactNativePermissions.a to `Build Phases -> Link Binary With Libraries.