Objective c 如何以编程方式拍摄iPhone主屏幕的截图

Objective c 如何以编程方式拍摄iPhone主屏幕的截图,objective-c,ios,cocoa-touch,screenshot,Objective C,Ios,Cocoa Touch,Screenshot,是否可以从我的应用程序内部以编程方式拍摄主屏幕的屏幕截图 谢谢 使用私有API是的UIGetScreenImage()在后台运行应用程序时也可以工作。我设置了一个应用程序,每当抛出异常时都会截屏,当它在后台运行时崩溃时,它还会截屏主屏幕/其他应用程序 关于AppStore中的DisplayRecorder应用程序,此问题有一些有趣的答案: 这将向您展示如何使用UIGetScreenImage: 更新: \u uiCreateScreateScreenUIImage()是获取屏幕截图的一种更快

是否可以从我的应用程序内部以编程方式拍摄
主屏幕的屏幕截图


谢谢

使用私有API是的
UIGetScreenImage()
在后台运行应用程序时也可以工作。我设置了一个应用程序,每当抛出异常时都会截屏,当它在后台运行时崩溃时,它还会截屏主屏幕/其他应用程序

关于AppStore中的DisplayRecorder应用程序,此问题有一些有趣的答案:

这将向您展示如何使用UIGetScreenImage:


更新:

\u uiCreateScreateScreenUIImage()
是获取屏幕截图的一种更快的方法。它还返回UIImage而不是CGImageRef:

OBJC_EXTERN UIImage *_UICreateScreenUIImage(void) NS_RETURNS_RETAINED;

使用私有API是的
UIGetScreenImage()
在后台运行应用程序时也可以工作。我设置了一个应用程序,每当抛出异常时都会截屏,当它在后台运行时崩溃时,它还会截屏主屏幕/其他应用程序

关于AppStore中的DisplayRecorder应用程序,此问题有一些有趣的答案:

这将向您展示如何使用UIGetScreenImage:


更新:

\u uiCreateScreateScreenUIImage()
是获取屏幕截图的一种更快的方法。它还返回UIImage而不是CGImageRef:

OBJC_EXTERN UIImage *_UICreateScreenUIImage(void) NS_RETURNS_RETAINED;


你可以为你的应用程序截图,但我不认为这是不可能的,我希望,没有办法这样做。作为一个iPhone用户,如果应用程序不能截图,我真的很喜欢。我最不需要的是一个应用程序,它会截取这样一个屏幕截图,然后通过在屏幕截图上显示AppStore对话框作为背景,试图对我进行社会工程,让我获得我的Apple ID密码。幸运的是,这离不开越狱。相信我,这不是出于坏目的Yossi Tsafar只有那些越狱的人才会相信你。你可以截取你的应用程序的屏幕,但我认为不可能截取手机主页的屏幕。我希望,没有办法。作为iPhone用户,如果应用程序无法截取屏幕,我真的很希望。我最不需要的是一个应用程序,它会截取这样一个屏幕截图,然后通过在屏幕截图上显示AppStore对话框作为背景,试图对我进行社会工程,让我获得我的Apple ID密码。幸运的是,这离不开越狱。相信我,这不是出于坏目的Yossi Tsafar只有越狱的人才会信任你。请注意,当应用提交到应用商店时,使用私有API会被拒绝。是的,这很明显。。。没有必要每次都提到私有API被苹果拒绝。运行时动态加载私有框架(dlopen?)或类似的东西可能会从苹果的静态分析器中溜走至少在iOS7中,
UIGetScreenImage()
在后台不起作用,您显然会在日志中看到一条消息,如果您尝试,您将无法这样做。然而,在你有效地进入背景模式之前,你能得到的最后一张图像是跳板(当你离开你的应用程序时),但不幸的是,在那之后什么也没有了。这个API还能用吗?@EmilyJ成功了吗?请注意,当应用提交到应用商店时,使用私有API会导致应用被拒绝。是的,这很明显。。。没有必要每次都提到私有API被苹果拒绝。运行时动态加载私有框架(dlopen?)或类似的东西可能会从苹果的静态分析器中溜走至少在iOS7中,
UIGetScreenImage()
在后台不起作用,您显然会在日志中看到一条消息,如果您尝试,您将无法这样做。然而,在你有效地进入背景模式之前,你能得到的最后一张图像是跳板(当你离开你的应用程序时),但不幸的是,在那之后什么也没有了。这个API还能用吗?@EmilyJ成功了吗?