How can my Titanium iOS app detect that a screenshot has been taken?
Tags: titanium, screenshot, ios, mobiledev
Published: 2020-04-24 17:15:18

> Dear Geek,   
>    
> Can I detect that a screenshot has been taken (like Snapchat does) on my Titanium mobile app for iOS?  
>   
> &nbsp; &mdash; &nbsp; WATCHING FOR SCREENSHOTS  

**Dear Watching,**

Good news!  While there isn't a built-in way to detect that a screenshot has been taken, you can install this native module and get alerted any time a user takes a screenshot of your app.


#### Install @titanium/screenshot native mobile for Titanium SDK

> run this in the root directory of your project

```bash
npm install @titanium/screenshot
```

#### Add code to listen for screenshot taken

```JavaScript

// require the module
const screenshot_detective = require('@titanium/screenshot');

// add event listener
screenshot_detective.addEventListener('screenshotTaken', e => {
	console.debug('you are here → screenshot detected');
	alert('Screenshot taken!');
});

```

#### Limitations

1. This only works with iOS.  Android is more of a pain when it comes to screenshot detection.
2. This will only detect screenshots taken with the physical buttons on the device (or with the simulator).  It will not fire if you [take a screenshot directly using the Titanium SDK](https://dev.to/brentonhouse/how-do-i-take-a-screenshot-inside-mobile-app-for-ios-and-android-pc0-temp-slug-2575275?preview=e486562595d47f95dabe376dd9f7372f90299291b3d8fdf00cd17fbdcfb156d70aec2f179c5272e227261b33597ee24265e802ec84077b1b93f05623).


You can find more information about detecting screenshots with Titanium Native mobile apps on the [@titanium/screenshot npm page here](https://www.npmjs.com/package/@titanium/screenshot).


| About Brenton House                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| With 25 years of experience in the development world, Brenton House leads Developer Relations for Axway's API and mobile products, He has worked closely with many clients across various industries including broadcasting, advertising, retail, financial services, transportation, publishing, supply chain, and non-profits.  Brenton's passion for everything API and mobile combined with his strategy and design experience, has enabled him to help developers create captivating products that inspire and delight audiences.  |

![Ask-a-Geek-API-Mobile-Questions-Solved](https://cdn.secure-api.org/axway/ask-a-geek-logo-2.png)

> Ask-a-Geek questions are answered by [Brenton House, an API and Mobile geek](https://brenton.house) who has been doing dev work for 25+ years.