mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2025-04-02 21:02:57 +08:00
feat(cordova-plugin-iroot): add plugin (#4857)
This commit is contained in:
parent
ac767ab219
commit
658a55bc97
36
docs/plugins/i-root/README.md
Normal file
36
docs/plugins/i-root/README.md
Normal file
@ -0,0 +1,36 @@
|
||||
# IRoot
|
||||
|
||||
```text
|
||||
$ ionic cordova plugin add cordova-plugin-iroot
|
||||
$ npm install @awesome-cordova-plugins/i-root
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/iroot/)
|
||||
|
||||
Plugin Repo: [https://github.com/WuglyakBolgoink/cordova-plugin-iroot](https://github.com/WuglyakBolgoink/cordova-plugin-iroot)
|
||||
|
||||
Use this plugin to add an extra layer of security for your app by detecting if the device was rooted (on android) or jailbreaked (on iOS).
|
||||
|
||||
## Supported platforms
|
||||
|
||||
* Android
|
||||
* iOS
|
||||
|
||||
## Original Plugin Notes
|
||||
|
||||
### iOS - Postinstall
|
||||
|
||||
To avoid errors like
|
||||
|
||||
> -canOpenURL: failed for URL: "cydia://package/com.example.package" - error: "This app is not allowed to query for scheme cydia"
|
||||
|
||||
don’t forget to add `"cydia"` in `LSApplicationQueriesSchemes` key of `info.plist`. Otherwise `canOpenURL` will always return `false`.
|
||||
|
||||
```xml
|
||||
<xxx>
|
||||
<key>LSApplicationQueriesSchemes</key>
|
||||
<array>
|
||||
<string>cydia</string>
|
||||
</array>
|
||||
</xxx>
|
||||
```
|
54
src/@awesome-cordova-plugins/plugins/i-root/index.ts
Normal file
54
src/@awesome-cordova-plugins/plugins/i-root/index.ts
Normal file
@ -0,0 +1,54 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
/**
|
||||
* @name IRoot
|
||||
* @description
|
||||
* Use this plugin to add an extra layer of security for your app by detecting if the device was rooted (on android) or jailbreaked (on iOS).
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { IRoot } from '@awesome-cordova-plugins/i-root';
|
||||
*
|
||||
* constructor(private iRoot: IRoot) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
* this.iRoot.isRooted()
|
||||
* .then((res: boolean) => console.log('is rooted?', res))
|
||||
* .catch((error: string) => console.error(error));
|
||||
*
|
||||
* this.iRoot.isRootedWithBusyBox()
|
||||
* .then((res: boolean) => console.log('is rooted?', res))
|
||||
* .catch((error: string) => console.error(error));
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'IRoot',
|
||||
plugin: 'cordova-plugin-IRoot',
|
||||
pluginRef: 'IRoot',
|
||||
repo: 'https://github.com/WuglyakBolgoink/cordova-plugin-IRoot',
|
||||
platforms: ['Android', 'iOS'],
|
||||
})
|
||||
@Injectable()
|
||||
export class IRoot extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Checks if the device is rooted/jailbroken.
|
||||
* @return {Promise<boolean>} Resolves to true if the device is Jailbroken/rooted, otherwise false.
|
||||
*/
|
||||
@Cordova()
|
||||
isRooted(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Android only! Checks if the device was rooted via busybox.
|
||||
* @return {Promise<boolean>} Resolves to true if the device is Jailbroken/rooted, otherwise false.
|
||||
*/
|
||||
@Cordova({
|
||||
platforms: ['android'],
|
||||
})
|
||||
isRootedWithBusyBox(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user