crashOnJailBreak function

Future<void> crashOnJailBreak(
  1. FutureOr<void> builder(), {
  2. FutureOr<void> onRootJailBreakDetected()?,
})

This will kill your app when the device is jail broken or rooted.

call this method in main method of your app.

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  crashOnJailBreak(
    () async {
      runApp(MyApp());
    },
  );
}

Implementation

Future<void> crashOnJailBreak(
  FutureOr<void> Function() builder, {
  FutureOr<void> Function()? onRootJailBreakDetected,
}) async {
  bool isRooted = await NativeCrash.checkJailBreak();
  if (isRooted && kReleaseMode) {
    if (onRootJailBreakDetected != null) {
      return onRootJailBreakDetected();
    } else {
      await NativeCrash.crash(
          'You are trying to run your app on a jail broken/rooted device.');
      return;
    }
  }
  return builder();
}