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

Yos*_*far 1 cocoa-touch screenshot objective-c ios

是否可以Home Screen从我的应用程序内部以编程方式截取屏幕截图?

截图

谢谢!

Jon*_*asG 5

使用私有API是的.UIGetScreenImage()当应用程序在后台运行时也可以使用.我设置了一个应用程序,可以在发生异常时截取屏幕截图,并且还会在主屏幕/其他应用程序在后台运行时崩溃时截取屏幕截图.

这个问题有一些关于AppStore的DisplayRecorder应用程序的有趣答案:iOS应用程序Display Recorder如何在不使用私有API的情况下记录屏幕?

这将向您展示如何使用UIGetScreenImage:https://stackoverflow.com/a/2507740/832065


更新:

_UICreateScreenUIImage()获取截图是一种更快捷的方法.它还返回一个UIImage而不是CGImageRef:

OBJC_EXTERN UIImage *_UICreateScreenUIImage(void) NS_RETURNS_RETAINED;
Run Code Online (Sandbox Code Playgroud)

  • 请注意,使用私有API会在应用程序提交到App Store时拒绝该应用程序. (2认同)