Prevent Screenshot Image, block doing screenshot dynamically in your iOS/Android app.
For iOS - using ScreenShieldKit
For Android - using flag FLAG_SECURE
- STEP 0 - IMPORTANT - only for want support iOS - put
ScreenShieldKit.framework
in ios project dir.
npm install react-native-screenshield
or
yarn add react-native-screenshield
ReactNative auto-linking will do the magic for you.
ProtectedView
props:
name | required | desc |
---|---|---|
source | yes | check RN Image prop |
style | yes | check RN Image prop |
It also accepts all RN Image
props.
Methods:
name | desc |
---|---|
init(key?: string): void | iOS - key is required - ScreenShieldKit License, Android - not required, not used |
isInitialized(): boolean | Return if module was initialized |
onSettingFlagFailed?: (error: Error) => void | method which is failed when settings flag on android failed |
import ScreenShield, { ProtectedView } from "react-native-screenshield";
// ...
ScreenShield.init('abdc'); // config for iOS and Android
or
ScreenShield.init(); // it will just work for Android then, on iOS fallback `Image` component will be used for `ProtectedView`
// ...
<ProtectedView source={image} style={{ width: 100, height: 100 }} />
MIT