react-native-screenshot-detect
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

react-native-screenshot-detect

This is a drop-in replacement for react-native-screenshot-detector with fixes for react-native > 0.60.0

Note: this project is designed to work with the newer version of React Native library imports, i.e. React Native >= 0.40.0, and will only work on iOS as Android does not provide the underlying functionality needed to track screenshots.

Getting started

React Native < 0.60.0

$ npm install react-native-screenshot-detect

$ react-native link react-native-screenshot-detect

React Native >= 0.60.0

$ npm install react-native-screenshot-detect

Usage

Update the AppDelegate.m file to include the following:

iOS

#import <RNScreenshotDetector/RNScreenshotDetector.h>
 
.........
 
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  // ... setup code
 
  // Somewhere React Native will have placed something like
  RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL...]
 
  // Somewhere below this you can setup the screenshot detector to listen for events
  RNScreenshotDetector* screenshotDetector = [[RNScreenshotDetector alloc] init];
  [screenshotDetector setupAndListen:rootView.bridge];
}

In JS

import * as ScreenshotDetector from 'react-native-screenshot-detect';
 
// Subscribe callback to screenshots:
this.eventEmitter = ScreenshotDetector.subscribe(function() { ... });
 
// Unsubscribe later (a good place would be componentWillUnmount)
ScreenshotDetector.unsubscribe(this.eventEmitter);

Dependents (0)

Package Sidebar

Install

npm i react-native-screenshot-detect

Weekly Downloads

243

Version

1.1.0

License

MIT

Unpacked Size

190 kB

Total Files

54

Last publish

Collaborators

  • iamacup