Home Screen
アプリケーション内からプログラムでスクリーンショットを撮ることはできますか?
ありがとう!
プライベート API の使用 はい。UIGetScreenImage()
アプリがバックグラウンドで実行されている場合にも機能します。例外がスローされるたびにスクリーンショットを撮るようにアプリを設定し、バックグラウンドで実行中にクラッシュしたときにホーム画面/他のアプリのスクリーンショットも撮ります。
この質問には、AppStore の DisplayRecorder アプリに関する興味深い回答がいくつかあります: How does the iOS app Display Recorder record the screen without using private API?
これは、UIGetScreenImage の使用方法を示しています: https://stackoverflow.com/a/2507740/832065
アップデート:
_UICreateScreenUIImage()
スクリーンショットを取得するはるかに高速な方法です。また、CGImageRef の代わりに UIImage を返します。
OBJC_EXTERN UIImage *_UICreateScreenUIImage(void) NS_RETURNS_RETAINED;