2017-01-09 4 views
0

私はapp内のページのスクリーンショットを撮りたくありません。 スクリーンショットを取得できないようにプログラムで行う方法。App screenshotをプログラムで無効にする

スクリーンショットを検出するためのコードが見つかりました。スクリーンショットを撮るとすぐに削除できますか?

let mainQueue = NSOperationQueue.mainQueue() 
NSNotificationCenter.defaultCenter().addObserverForName(UIApplicationUserDidTakeScreenshotNotification, 
    object: nil, 
    queue: mainQueue) { notification in 
     // executes after screenshot 
} 
+0

これを行う方法はありません。あなたはjailbrakeで確認できます –

+1

その特定のページに表示される機密情報のために、ユーザーがスクリーンショットを撮れないようにするには、別の方法で試してみてください@ Jacob Kingの回答 –

+0

にもお返事ありがとうございます。 –

答えて

0

あり、完全にアプリの処理中にスクリーンショットを取ってからユーザーを防ぐために、絶対に方法はありません、あなたは、ユーザーのフォトギャラリーで写真を削除するためのアクセスを持っていないためです。ユーザーの写真にアクセスすることができれば、セキュリティ上の問題になります。


ここで説明したようにしかし、部分的スクリーンショットを防止するための方法は、ある:Prevent screen capture in an iOS app

+0

他のデバイスからのスクリーンショットを防ぐ方法もありません。 – Russell

+0

@Russell正確には、ユーザーが別のデバイスから写真を撮るのを防ぐことはできません。 –

0

技術はPhotosフレームワーク、here見出すことができるためにドキュメントを介して、可能です。

例コードはhereです。

の場合、最初にユーザーの許可を求められた後、削除を再度確認します。理想的なソリューションではない可能性があります。残念ながら、これはアップル社がカメラロールをかなりロックダウンしているのと同じくらい良いものです。

2

Amazon Prime Videoアプリでは可能ですが、スクリーンショットを作成する場合は黒い四角形しか表示されません。申し訳ありませんが、プログラムで行う方法はわかりませんが、フォトギャラリーにアクセスする必要はありません。

+1

Amazonはスクリーンショットを無効にせず、コンテンツのみを非表示にします。ビデオ再生/ストリーミング –

+0

IMHOのように画面の表示を隠す方法を教えてもらえれば、良い答えになると思います。これは、スクリーンショットの防止について質問しているときに、開発者の90%が望むものです。つまり、画面に表示されているときに誰かが機密情報のスクリーンショットを撮ることを望まない –

関連する問題