5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

iOS、Androidアプリでスクリーンショットを防ぐ

Posted at

iOS

そもそもスクリーンショットは端末の機能なのでデベロッパーの都合で禁止すべきではないし、完全に禁止というのはできない。スクリーンショットされたことを検知したりする機能もない。

画面の一部を隠すという機能もデベロッパーに提供されてはいない。

ただ、Appleが用意したUITextFieldisSecureTextEntryをonにすると、そのテキストフィールドの部分だけはスクリーンショットに映らないという公式の機能がある。これをハックすると、画面の一部または全体をスクリーンショットに映らないようにすることもできる模様。

Youtube - Prevent Screenshot - SwiftUI - Xcode 15
github - yoxisem544/ScreenshotPreventing-iOS

筆者自身も、スクリーンショットに映らないようにしてあるアプリをAppStoreで見つけたこともある。そのため、このような機能を入れてもAppStoreでリジェクトされないようである。ただ、このような利用方法をApple公式が想定しているわけではなさそうなので、いつまでも利用可能とは限らない。

またこのような機能を入れたところで、端末の画面を他の端末のカメラなどで撮影してしたり、パソコンや他のモニタに映した上でそのモニタ上でスクリーンショットを撮るなどはできてしまうと思われる。完璧な対策ではないので、そもそもスクリーンショットを撮られても大丈夫な設計にすべきだろう。

参考: How to prevent/disable screenshots on iOS 17 beta ?

Android

こちらもスクリーンショットそのものを禁止することはできないが、あるActivityについてスクリーンショットに映らないようにできる機能がある。

Prevent other applications form capturing/recording screen

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?