Skip to content

Commit c45f008

Browse files
committed
Update documentation
1 parent d49b992 commit c45f008

File tree

1 file changed

+168
-37
lines changed

1 file changed

+168
-37
lines changed

README.md

Lines changed: 168 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ For Windows only builds 18362 and later are supported.
1414

1515
| version | react-native version |
1616
| ------- | -------------------- |
17-
| 2.0.0+ | 0.60.2+ |
17+
| 3.0.0+ | 0.63.0+ |
1818

1919
## Setup
2020

2121
```bash
22-
$ npm install --save react-native-permissions
22+
$ npm install --save react-native-permissions@next
2323
# --- or ---
24-
$ yarn add react-native-permissions
24+
$ yarn add react-native-permissions@next
2525
```
2626

2727
### iOS
@@ -192,7 +192,7 @@ Open the project solution file from the `windows` folder. In the app project ope
192192

193193
## 🆘 Manual linking
194194

195-
Because this package targets React Native 0.60.0+, you probably won't need to link it manually. Otherwise if it's not the case, follow these additional instructions. You also need to manual link the module on Windows when using React Native Windows prior to 0.63:
195+
Because this package targets React Native 0.63.0+, you probably won't need to link it manually. Otherwise if it's not the case, follow these additional instructions. You also need to manual link the module on Windows when using React Native Windows prior to 0.63:
196196

197197
<details>
198198
<summary><b>👀 See manual linking instructions</b></summary>
@@ -252,14 +252,14 @@ public class MainApplication extends Application implements ReactApplication {
252252

253253
1. In `windows/myapp.sln` add the `RNCConfig` project to your solution:
254254

255-
- Open the solution in Visual Studio 2019
256-
- Right-click Solution icon in Solution Explorer > Add > Existing Project
257-
- Select `node_modules\react-native-permissions\windows\RNPermissions\RNPermissions.vcxproj`
255+
- Open the solution in Visual Studio 2019
256+
- Right-click Solution icon in Solution Explorer > Add > Existing Project
257+
- Select `node_modules\react-native-permissions\windows\RNPermissions\RNPermissions.vcxproj`
258258

259259
2. In `windows/myapp/myapp.vcxproj` ad a reference to `RNPermissions` to your main application project. From Visual Studio 2019:
260260

261-
- Right-click main application project > Add > Reference...
262-
- Check `RNPermissions` from Solution Projects.
261+
- Right-click main application project > Add > Reference...
262+
- Check `RNPermissions` from Solution Projects.
263263

264264
3. In `pch.h` add `#include "winrt/RNPermissions.h"`.
265265

@@ -295,6 +295,7 @@ As permissions are not handled in the same way on iOS and Android, this library
295295
╔═════╗ ▼
296296
║ YES ║ ┌───────────────────┐
297297
╚═════╝ │ RESULTS.BLOCKED / │
298+
│ │ RESULTS.LIMITED / │
298299
│ │ RESULTS.GRANTED │
299300
▼ └───────────────────┘
300301
┌────────────────┐
@@ -425,11 +426,12 @@ As permissions are not handled in the same way on iOS and Android, this library
425426

426427
### Supported permissions
427428

429+
<details>
430+
<summary><b>Android permissions</b></summary>
431+
428432
```js
429433
import {PERMISSIONS} from 'react-native-permissions';
430434

431-
// Android permissions
432-
433435
PERMISSIONS.ANDROID.ACCEPT_HANDOVER;
434436
PERMISSIONS.ANDROID.ACCESS_BACKGROUND_LOCATION;
435437
PERMISSIONS.ANDROID.ACCESS_COARSE_LOCATION;
@@ -459,8 +461,15 @@ PERMISSIONS.ANDROID.WRITE_CALENDAR;
459461
PERMISSIONS.ANDROID.WRITE_CALL_LOG;
460462
PERMISSIONS.ANDROID.WRITE_CONTACTS;
461463
PERMISSIONS.ANDROID.WRITE_EXTERNAL_STORAGE;
464+
```
465+
466+
</details>
467+
468+
<details>
469+
<summary><b>iOS permissions</b></summary>
462470

463-
// iOS permissions
471+
```js
472+
import {PERMISSIONS} from 'react-native-permissions';
464473

465474
PERMISSIONS.IOS.APP_TRACKING_TRANSPARENCY;
466475
PERMISSIONS.IOS.BLUETOOTH_PERIPHERAL;
@@ -479,40 +488,162 @@ PERMISSIONS.IOS.REMINDERS;
479488
PERMISSIONS.IOS.SIRI;
480489
PERMISSIONS.IOS.SPEECH_RECOGNITION;
481490
PERMISSIONS.IOS.STOREKIT;
491+
```
492+
493+
</details>
494+
495+
<details>
496+
<summary><b>Windows permissions</b></summary>
482497

483-
// Windows permissions
498+
```js
499+
import {PERMISSIONS} from 'react-native-permissions';
484500

501+
PERMISSIONS.WINDOWS.ACCESSORY_MANAGER;
502+
PERMISSIONS.WINDOWS.ACTIVITY;
503+
PERMISSIONS.WINDOWS.ALLOW_ELEVATION;
504+
PERMISSIONS.WINDOWS.ALL_APP_MODS;
505+
PERMISSIONS.WINDOWS.ALL_JOYN;
485506
PERMISSIONS.WINDOWS.APPOINTMENTS;
507+
PERMISSIONS.WINDOWS.APPOINTMENTS_SYSTEM;
508+
PERMISSIONS.WINDOWS.APP_BROADCAST_SERVICES;
509+
PERMISSIONS.WINDOWS.APP_CAPTURE_SERVICES;
510+
PERMISSIONS.WINDOWS.APP_CAPTURE_SETTINGS;
511+
PERMISSIONS.WINDOWS.APP_DIAGNOSTICS;
512+
PERMISSIONS.WINDOWS.APP_LICENSING;
513+
PERMISSIONS.WINDOWS.AUDIO_DEVICE_CONFIGURATION;
514+
PERMISSIONS.WINDOWS.BACKGROUND_MEDIA_PLAYBACK;
515+
PERMISSIONS.WINDOWS.BACKGROUND_MEDIA_RECORDING;
516+
PERMISSIONS.WINDOWS.BACKGROUND_SPATIAL_PERCEPTION;
517+
PERMISSIONS.WINDOWS.BACKGROUND_VOIP;
486518
PERMISSIONS.WINDOWS.BLOCKED_CHAT_MESSAGES;
487-
PERMISSIONS.WINDOWS.BLUETOOTH_GATT;
488-
PERMISSIONS.WINDOWS.BLUETOOTH_RFCOMM;
489-
PERMISSIONS.WINDOWS.CHAT;
519+
PERMISSIONS.WINDOWS.BLUETOOTH;
520+
PERMISSIONS.WINDOWS.BROAD_FILE_SYSTEM_ACCESS;
521+
PERMISSIONS.WINDOWS.CAMERA_PROCESSING_EXTENSION;
522+
PERMISSIONS.WINDOWS.CELLULAR_DEVICE_CONTROL;
523+
PERMISSIONS.WINDOWS.CELLULAR_DEVICE_IDENTITY;
524+
PERMISSIONS.WINDOWS.CELLULAR_MESSAGING;
525+
PERMISSIONS.WINDOWS.CHAT_SYSTEM;
490526
PERMISSIONS.WINDOWS.CODE_GENERATION;
527+
PERMISSIONS.WINDOWS.CONFIRM_APP_CLOSE;
491528
PERMISSIONS.WINDOWS.CONTACTS;
529+
PERMISSIONS.WINDOWS.CONTACTS_SYSTEM;
530+
PERMISSIONS.WINDOWS.CORTANA_PERMISSIONS;
531+
PERMISSIONS.WINDOWS.CORTANA_SPEECH_ACCESSORY;
532+
PERMISSIONS.WINDOWS.CUSTOM_INSTALL_ACTIONS;
533+
PERMISSIONS.WINDOWS.DEVELOPMENT_MODE_NETWORK;
534+
PERMISSIONS.WINDOWS.DEVICE_MANAGEMENT_DM_ACCOUNT;
535+
PERMISSIONS.WINDOWS.DEVICE_MANAGEMENT_EMAIL_ACCOUNT;
536+
PERMISSIONS.WINDOWS.DEVICE_MANAGEMENT_FOUNDATION;
537+
PERMISSIONS.WINDOWS.DEVICE_MANAGEMENT_WAP_SECURITY_POLICIES;
538+
PERMISSIONS.WINDOWS.DEVICE_PORTAL_PROVIDER;
539+
PERMISSIONS.WINDOWS.DEVICE_UNLOCK;
492540
PERMISSIONS.WINDOWS.DOCUMENTS_LIBRARY;
541+
PERMISSIONS.WINDOWS.DUAL_SIM_TILES;
542+
PERMISSIONS.WINDOWS.EMAIL;
543+
PERMISSIONS.WINDOWS.EMAIL_SYSTEM;
493544
PERMISSIONS.WINDOWS.ENTERPRISE_AUTHENTICATION;
494-
PERMISSIONS.WINDOWS.HUMAN_INTERFACE_DEVICE;
545+
PERMISSIONS.WINDOWS.ENTERPRISE_CLOUD_S_S_O;
546+
PERMISSIONS.WINDOWS.ENTERPRISE_DATA_POLICY;
547+
PERMISSIONS.WINDOWS.ENTERPRISE_DEVICE_LOCKDOWN;
548+
PERMISSIONS.WINDOWS.EXPANDED_RESOURCES;
549+
PERMISSIONS.WINDOWS.EXTENDED_BACKGROUND_TASK_TIME;
550+
PERMISSIONS.WINDOWS.EXTENDED_EXECUTION_BACKGROUND_AUDIO;
551+
PERMISSIONS.WINDOWS.EXTENDED_EXECUTION_CRITICAL;
552+
PERMISSIONS.WINDOWS.EXTENDED_EXECUTION_UNCONSTRAINED;
553+
PERMISSIONS.WINDOWS.FIRST_SIGN_IN_SETTINGS;
554+
PERMISSIONS.WINDOWS.GAME_BAR_SERVICES;
555+
PERMISSIONS.WINDOWS.GAME_LIST;
556+
PERMISSIONS.WINDOWS.GAME_MONITOR;
557+
PERMISSIONS.WINDOWS.GAZE_INPUT;
558+
PERMISSIONS.WINDOWS.GLOBAL_MEDIA_CONTROL;
559+
PERMISSIONS.WINDOWS.HUMANINTERFACEDEVICE;
560+
PERMISSIONS.WINDOWS.INPUT_FOREGROUND_OBSERVATION;
561+
PERMISSIONS.WINDOWS.INPUT_INJECTION_BROKERED;
562+
PERMISSIONS.WINDOWS.INPUT_OBSERVATION;
563+
PERMISSIONS.WINDOWS.INPUT_SUPPRESSION;
495564
PERMISSIONS.WINDOWS.INTERNET_CLIENT;
496565
PERMISSIONS.WINDOWS.INTERNET_CLIENT_SERVER;
566+
PERMISSIONS.WINDOWS.INTEROP_SERVICES;
567+
PERMISSIONS.WINDOWS.IOT;
568+
PERMISSIONS.WINDOWS.LOCAL_SYSTEM_SERVICES;
497569
PERMISSIONS.WINDOWS.LOCATION;
570+
PERMISSIONS.WINDOWS.LOCATION_HISTORY;
571+
PERMISSIONS.WINDOWS.LOCATION_SYSTEM;
572+
PERMISSIONS.WINDOWS.LOW_LEVEL;
573+
PERMISSIONS.WINDOWS.LOW_LEVEL_DEVICES;
498574
PERMISSIONS.WINDOWS.MICROPHONE;
575+
PERMISSIONS.WINDOWS.MOBILE;
576+
PERMISSIONS.WINDOWS.MODIFIABLE_APP;
499577
PERMISSIONS.WINDOWS.MUSIC_LIBRARY;
500-
PERMISSIONS.WINDOWS.OBJECTS_3D;
578+
PERMISSIONS.WINDOWS.NETWORKING_VPN_PROVIDER;
579+
PERMISSIONS.WINDOWS.NETWORK_CONNECTION_MANAGER_PROVISIONING;
580+
PERMISSIONS.WINDOWS.NETWORK_DATA_PLAN_PROVISIONING;
581+
PERMISSIONS.WINDOWS.NETWORK_DATA_USAGE_MANAGEMENT;
582+
PERMISSIONS.WINDOWS.OEM_DEPLOYMENT;
583+
PERMISSIONS.WINDOWS.OEM_PUBLIC_DIRECTORY;
584+
PERMISSIONS.WINDOWS.ONE_PROCESS_VOIP;
585+
PERMISSIONS.WINDOWS.OPTICAL;
586+
PERMISSIONS.WINDOWS.PACKAGED_SERVICES;
587+
PERMISSIONS.WINDOWS.PACKAGES_SERVICES;
588+
PERMISSIONS.WINDOWS.PACKAGE_MANAGEMENT;
589+
PERMISSIONS.WINDOWS.PACKAGE_POLICY_SYSTEM;
590+
PERMISSIONS.WINDOWS.PACKAGE_QUERY;
591+
PERMISSIONS.WINDOWS.PACKAGE_WRITE_REDIRECTION_COMPATIBILITY_SHIM;
501592
PERMISSIONS.WINDOWS.PHONE_CALL;
502-
PERMISSIONS.WINDOWS.PHOTO_LIBRARY;
593+
PERMISSIONS.WINDOWS.PHONE_CALL_HISTORY;
594+
PERMISSIONS.WINDOWS.PHONE_CALL_HISTORY_SYSTEM;
595+
PERMISSIONS.WINDOWS.PHONE_LINE_TRANSPORT_MANAGEMENT;
596+
PERMISSIONS.WINDOWS.PICTURES_LIBRARY;
503597
PERMISSIONS.WINDOWS.POINT_OF_SERVICE;
598+
PERMISSIONS.WINDOWS.PREVIEW_INK_WORKSPACE;
599+
PERMISSIONS.WINDOWS.PREVIEW_PEN_WORKSPACE;
600+
PERMISSIONS.WINDOWS.PREVIEW_STORE;
601+
PERMISSIONS.WINDOWS.PREVIEW_UI_COMPOSITION;
504602
PERMISSIONS.WINDOWS.PRIVATE_NETWORK_CLIENT_SERVER;
603+
PERMISSIONS.WINDOWS.PROTECTED_APP;
505604
PERMISSIONS.WINDOWS.PROXIMITY;
605+
PERMISSIONS.WINDOWS.RADIOS;
506606
PERMISSIONS.WINDOWS.RECORDED_CALLS_FOLDER;
607+
PERMISSIONS.WINDOWS.REMOTE_PASSPORT_AUTHENTICATION;
608+
PERMISSIONS.WINDOWS.REMOTE_SYSTEM;
507609
PERMISSIONS.WINDOWS.REMOVABLE_STORAGE;
610+
PERMISSIONS.WINDOWS.RESCAP;
611+
PERMISSIONS.WINDOWS.RUN_FULL_TRUST;
612+
PERMISSIONS.WINDOWS.SCREEN_DUPLICATION;
613+
PERMISSIONS.WINDOWS.SECONDARY_AUTHENTICATION_FACTOR;
614+
PERMISSIONS.WINDOWS.SECURE_ASSESSMENT;
615+
PERMISSIONS.WINDOWS.SERIALCOMMUNICATION;
508616
PERMISSIONS.WINDOWS.SHARED_USER_CERTIFICATES;
617+
PERMISSIONS.WINDOWS.SLAPI_QUERY_LICENSE_VALUE;
618+
PERMISSIONS.WINDOWS.SMBIOS;
619+
PERMISSIONS.WINDOWS.SMS_SEND;
620+
PERMISSIONS.WINDOWS.SPATIAL_PERCEPTION;
621+
PERMISSIONS.WINDOWS.START_SCREEN_MANAGEMENT;
622+
PERMISSIONS.WINDOWS.STORE_LICENSE_MANAGEMENT;
623+
PERMISSIONS.WINDOWS.SYSTEM_MANAGEMENT;
624+
PERMISSIONS.WINDOWS.TARGETED_CONTENT;
625+
PERMISSIONS.WINDOWS.TEAM_EDITION_DEVICE_CREDENTIAL;
626+
PERMISSIONS.WINDOWS.TEAM_EDITION_EXPERIENCE;
627+
PERMISSIONS.WINDOWS.TEAM_EDITION_VIEW;
628+
PERMISSIONS.WINDOWS.UAP;
629+
PERMISSIONS.WINDOWS.UI_AUTOMATION;
630+
PERMISSIONS.WINDOWS.UNVIRTUALIZED_RESOURCES;
509631
PERMISSIONS.WINDOWS.USB;
510632
PERMISSIONS.WINDOWS.USER_ACCOUNT_INFORMATION;
633+
PERMISSIONS.WINDOWS.USER_DATA_ACCOUNTS_PROVIDER;
634+
PERMISSIONS.WINDOWS.USER_DATA_SYSTEM;
635+
PERMISSIONS.WINDOWS.USER_PRINCIPAL_NAME;
636+
PERMISSIONS.WINDOWS.USER_SYSTEM_ID;
511637
PERMISSIONS.WINDOWS.VIDEOS_LIBRARY;
512638
PERMISSIONS.WINDOWS.VOIP_CALL;
639+
PERMISSIONS.WINDOWS.WALLET_SYSTEM;
513640
PERMISSIONS.WINDOWS.WEBCAM;
641+
PERMISSIONS.WINDOWS.WIFI_CONTROL;
642+
PERMISSIONS.WINDOWS.XBOX_ACCESSORY_MANAGEMENT;
514643
```
515644

645+
</details>
646+
516647
### Permissions statuses
517648

518649
Permission checks and requests resolve into one of these statuses:
@@ -729,6 +860,24 @@ openSettings().catch(() => console.warn('cannot open settings'));
729860

730861
---
731862

863+
#### openLimitedPhotoLibraryPicker (iOS 14+)
864+
865+
Open a picker to update the photo selection when `PhotoLibrary` permission is `limited`. This will reject if unsupported or if full permission is already `granted`.
866+
867+
```ts
868+
function openLimitedPhotoLibraryPicker(): Promise<void>;
869+
```
870+
871+
```js
872+
import {openLimitedPhotoLibraryPicker} from 'react-native-permissions';
873+
874+
openLimitedPhotoLibraryPicker().catch(() => {
875+
console.warn('Cannot open photo library picker');
876+
});
877+
```
878+
879+
---
880+
732881
#### checkLocationAccuracy (iOS 14+)
733882

734883
When `LocationAlways` or `LocationWhenInUse` is `granted`, allow checking if the user share his precise location.
@@ -771,24 +920,6 @@ requestLocationAccuracy({purposeKey: 'YOUR-PURPOSE-KEY'})
771920
.catch(() => console.warn('Cannot request location accuracy'));
772921
```
773922

774-
---
775-
776-
#### openLimitedPhotoLibraryPicker (iOS 14+)
777-
778-
Open a picker to update the photo selection when `PhotoLibrary` permission is `limited`. This will reject if unsupported or if full permission is already `granted`.
779-
780-
```ts
781-
function openLimitedPhotoLibraryPicker(): Promise<void>;
782-
```
783-
784-
```js
785-
import {openLimitedPhotoLibraryPicker} from 'react-native-permissions';
786-
787-
openLimitedPhotoLibraryPicker().catch(() => {
788-
console.warn('Cannot open photo library picker');
789-
});
790-
```
791-
792923
## Migrating from v1.x.x
793924

794925
If you are currently using the version `1.x.x` and would like to switch to `v2.x.x`, the only thing you really need to know is that it's now required to select the wanted permission **per platform**.

0 commit comments

Comments
 (0)