
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
cordova-plugin-permissionScope
Advanced tools
This plugin is a wrapper of the very helpful Swift framework PermissionScope. It defines a global PermissionScope object, which permits to requesting permissions from users.
cordova plugin add cordova-plugin-permissionScope --save
The iOS part is written in Swift and the Swift support plugin is configured as a dependency.
:warning: Because this plugin doesn't support Swift 3 at the moment, the following preference has to be added in your project :
<preference name="UseLegacySwiftLanguageVersion" value="true" />
PermissionScope.init(config, success, error)
Inits and customizes the dialog and all the alerts displayed from direct requests. If called without any parameter then the default config is restored.
The following properties are available:
Property | Comment |
---|---|
headerLabel | Header UILabel with the message "Hey, listen!" by default. |
bodyLabel | Header UILabel with the message "We need a couple things\r\nbefore you get started." by default. |
closeButtonTitle | Title for the close button. "Close" by default. |
closeButtonTextColor | Hex color code for the close button's text color (ie: #cccccc). |
closeOffset | Offset used to position the Close button (ie: {-200,0}). |
permissionButtonTextColor | Hex color code for the permission buttons' text color (ie: #cccccc). |
permissionButtonBorderColor | Hex color code for the permission buttons' border color (ie: #cccccc). |
permissionButtonΒorderWidth | Border width for the permission buttons. |
permissionButtonCornerRadius | Corner radius for the permission buttons. |
permissionLabelColor | Hex color code for the permission labels' text color (ie: #cccccc). |
authorizedButtonColor | Hex color code used for permission buttons with authorized status (ie: #cccccc). |
unauthorizedButtonColor | Hex color code used for permission buttons with unauthorized status. By default, inverse of authorizedButtonColor (ie: #cccccc). |
deniedAlertTitle | Title for the denied alert. |
deniedAlertMessage | Message for the denied alert. |
deniedCancelActionTitle | Title for the denied alert's cancel button. "OK" by default. |
deniedDefaultActionTitle | Title for the denied alert's default button. "Show me" by default. |
disabledAlertTitle | Title for the disabled alert. |
disabledAlertMessage | Message for the disabled alert. |
disabledCancelActionTitle | Title for the disabled alert's cancel button. "OK" by default. |
disabledDefaultActionTitle | Title for the disabled alert's default button. "Show me" by default. |
PermissionScope.show(success, error)
Displays the permissions dialog if permissions have to be approved else does nothing.
PermissionScope.add<TYPE>Permission(message, success, error)
The following methods permit to set up permissions asked from the dialog :
PermissionScope.addNotificationsPermission(message, success, error)
PermissionScope.addLocationInUsePermission(message, success, error)
PermissionScope.addLocationAlwaysPermission(message, success, error)
PermissionScope.addContactsPermission(message, success, error)
PermissionScope.addEventsPermission(message, success, error)
PermissionScope.addMicrophonePermission(message, success, error)
PermissionScope.addCameraPermission(message, success, error)
PermissionScope.addPhotosPermission(message, success, error)
PermissionScope.addRemindersPermission(message, success, error)
PermissionScope.addBluetoothPermission(message, success, error)
PermissionScope.addMotionPermission(message, success, error)
Message is a label displayed below the permission button. Its goal is to explain why a permission has to be approved.
PermissionScope.request<TYPE>Permission(success, error)
The following methods permit to check whether a particular permission has been granted else it displays an alert :
PermissionScope.requestNotificationsPermission(success, error)
PermissionScope.requestLocationInUsePermission(success, error)
PermissionScope.requestLocationAlwaysPermission(success, error)
PermissionScope.requestContactsPermission(success, error)
PermissionScope.requestEventsPermission(success, error)
PermissionScope.requestMicrophonePermission(success, error)
PermissionScope.requestCameraPermission(success, error)
PermissionScope.requestPhotosPermission(success, error)
PermissionScope.requestRemindersPermission(success, error)
PermissionScope.requestBluetoothPermission(success, error)
PermissionScope.requestMotionPermission(success, error)
PermissionScope.init({
headerLabel: 'Hello',
bodyLabel: 'Before you get started',
closeButtonTextColor: '#cccccc',
closeButtonTitle: 'Return',
permissionButtonTextColor: '#30ab7d',
permissionButtonBorderColor: '#30ab7d',
closeOffset: '{-200, 0}',
authorizedButtonColor: '#cccccc',
unauthorizedButtonColor: '#c2262d',
permissionButtonCornerRadius: '20',
permissionLabelColor: '#ff5500',
permissionButtonΒorderWidth: '5',
deniedCancelActionTitle: 'Cancel',
deniedDefaultActionTitle: 'Settings',
deniedAlertTitle: 'Permission',
deniedAlertMessage: 'Please enable all the permissions',
disabledCancelActionTitle: 'Cancel',
disabledDefaultActionTitle: 'Settings',
});
PermissionScope.addBluetoothPermission('Please enable access to your Bluetooth');
PermissionScope.addCameraPermission('Please enable access to your Camera');
PermissionScope.addPhotosPermission('Please enable access to your Photos');
PermissionScope.show();
The result could be something like this :
Here is the default version :
PermissionScope.init({
denieddDefaultActionTitle: 'Settings'
});
PermissionScope.requestEventsPermission();
Here is what you should obtain if the permission has not been granted :
An app is available in the tests/app
folder and is generated from the Cordova Plugin TestFramework.
It permits to launch auto tests and manual tests.
To install it, please follow these steps :
npm run install && cordova run --device
FAQs
Cordova plugin description
The npm package cordova-plugin-permissionScope receives a total of 1 weekly downloads. As such, cordova-plugin-permissionScope popularity was classified as not popular.
We found that cordova-plugin-permissionScope demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.