如何以编程方式截取iPhone主屏幕

是否有可能从我的应用程序内部以编程方式截取Home Screen

截图

谢谢!

使用私人API是的。 UIGetScreenImage()也适用于应用程序在后台运行。 我设置了一个应用程序,以便在引发exception时进行截图,并且在后台运行时崩溃的同时还会截取主屏幕/其他应用程序的屏幕截图。

这个问题有关于AppStore的DisplayRecorder应用程序的一些有趣的答案: iOS应用程序显示logging器如何logging屏幕,而不使用私人API?

这告诉你如何使用UIGetScreenImage: https ://stackoverflow.com/a/2507740/832065

更新:

_UICreateScreenUIImage()是获取屏幕截图的更快的方法。 它也返回一个UIImage而不是CGImageRef:

 OBJC_EXTERN UIImage *_UICreateScreenUIImage(void) NS_RETURNS_RETAINED;