Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Programmatically get iOS device screenshot from the connected Mac computer

I know it's possible to get a screenshot programmatically from code in the iOS application, and to manually get screenshots from Xcode and Instruments (Instruments also automatically takes screenshots during UIAutomation test failures). What I would like to find is a programatic way (with code running on the Mac, not the device) to grab screenshots from the device onto the Mac which it is plugged into.

Is there an API (or command-line parameters) into Xcode or Instruments to get access to this screenshot feature? Or (ideally) to interface to the device and get a screenshot directly, the same way that Xcode and Instruments do it?

like image 865
jhabbott Avatar asked Sep 05 '11 17:09

jhabbott


2 Answers

Yes, there is a way. You want to install the free libimobiledevice library: https://github.com/benvium/libimobiledevice-macosx

When it is installed, you can run idevicescreenshot from the commandline and it will save a TIFF file with a screenshot to the current directory.

See http://pervasivecode.blogspot.de/2012/06/take-iphone-or-ipad-screenshot-from.html

like image 173
Johannes Fahrenkrug Avatar answered Oct 03 '22 21:10

Johannes Fahrenkrug


I do not know how to programmatically get the screenshot off of the device and onto your Mac, but you can go into Organizer while you are running your application, select the device in the list, and under the Screenshots sub-menu, click on the New Screenshot button. You do not even have to be debugging the application, this can be done at any time.

enter image description here

One of the more useful applications of this feature is being able to capture a default screen for the launch image, or creating the images needed for the App Store sample images.

like image 25
Wayne Hartman Avatar answered Oct 03 '22 21:10

Wayne Hartman