Search code examples
iosobjective-ciphone-privateapicydiatweak

How to take screenshot for the entire screen no matter which app is at front most in iOS 7(Jailbroken)


Before iOS7 I use UIGetScreenImage() function to take the screenshot easily, but in iOS7, it becomes deprecated, now are there any good methods to archive this?Thank you!

Addition: I need take screenshot for the entire screen at any view


Solution

  • I came across the same problem, but have no ideas how to solve it.

    I tried IOSurface - IOS Private API - Capture screenshot in background , which works well in some apps but returns a black screen in games.

    Then I tried this app https://github.com/k06a/UIView-FastScreenshot/blob/master/UIView%2BFastScreenshot.m , which works well using private apis, but I can't compile it using theos, always telling me "Undefined symbols for architecture armv7: CARenderServerRenderDisplay". Edit: I figured out how to compile it using theos, but returns am empty image.

    Also, https://github.com/coolstar/RecordMyScreen works well in iOS7, but it's not open source now, so I can't find out how it capture the whole screen.

    Edit: RecordMyScreen's code works on iOS7 as a springboard tweak, you can refer to this file https://github.com/coolstar/RecordMyScreen/blob/master/RecordMyScreen/CSScreenRecorder.m this method "- (void)_captureShot:(CMTime)frameTime;"