0

I'm not too far off from releasing my first Cordova-based iOS / Android app. The final step is to upload screenshots of my app in various resolutions (e.g. one to show how it looks on iPhone 6 Plus, one for iPhone 4 etc.).

I have an iPhone 4, and a 2009 Macbook with 2gb of RAM in it (both second hand from eBay. I just needed the bare minimum for development purposes), so running a simulator is painfully slow and takes a long time to do most things

Is there a quick and easy way to prepare the 20 or so screenshots I need without having to own or get access to various sized iPhones, or struggle through the simulator? I'm looking for something I can use fairly often as I release new versions so I don't have to struggle every time.

  • What specifically is your app? Swift in Xcode? Objective C? If you are making a native app - the simulator and hardware are the canonical choice. Or are you looking for an iOS emulator to automate this? This might need to get closed as unclear / too broad without some clarity what specifically you need. See help center on how to document your research. – bmike Jul 17 '16 at 14:14
2

A popular solution to this problem is this automation tool called snapshot. It is apart of a suite of tools made to automate iOS and Android developments.

For relatively small applications though, the simulator isn't too bad.

  • I did not see your comment on the other answer. My bad... – Nucl3ic Jul 16 '16 at 8:10
  • I've downloaded snapshot and got it set up, but because my app is written in Cordova, recording a UI test is hit and miss, with most of the taps I make not being recorded properly. A co-worker has a Macbook he's not actively using, so I might ask him if I can borrow it, or just go ahead and painfully generate screenshots one-by-one. – DrFrankly Jul 17 '16 at 3:02
  • This is one of the better automation tools :) even a slow Mac can do work while you sleep or do other tasks. – bmike Jul 17 '16 at 14:16
  • That github.com/fastlane/fastlane/tree/master/snapshot method seems ultra-heavyweight to me. I was just looking for something that maybe just took a screenshot every 10 seconds. Or for extra points, took did a checksum compare and discarded ones that had not changed. – MarkHu Jun 5 '18 at 2:28
2

If you developed your app using Cordova - you might be able to use a web browser to automate screen generation

And it looks like he just updated his post to talk about generating screenshots using Firefox. Even gives a node.js script someone can use to automatically sort out the images into folders.

I just tried it out on my app and it worked!

All you need to do is install Firefox and turn on the responsive mode in the developer tools. Then you can set your resolution, set the zoom to 200% and use the screenshot button to take a shot that meets Apple's guidelines.

Awesome!

1

I'm afraid that is the only way. Unless you want to open the app on a 6 Plus and Photoshop all the images smaller for each device (app for that), which is a very horrible idea but the only one I can think of accomplishing this without the simulator.

To make it easier to do the screenshots, instead of pressing ctrl+alt+C then bring it into Photoshop, you can now just cmd+S and the screenshot will be saved to your desktop ready to drag and drop into iTunes Connect. Make sure your device scale is on 100%:

Simulator -> Window -> Pixel Accurate (Cmd 3)

  • I think I've found an XCode UI test that does this for me: github.com/fastlane/fastlane/tree/master/snapshot . I haven't tried it yet (something I'll do tomorrow when I have some time to work on the app) but it seems to do most of everything for you. It requires some set up, but can automate the grabbing of all screenshots and sizes, so I can let it run overnight and not deal with the painfully slow simulator – DrFrankly Jul 16 '16 at 3:11
  • wow.. looks promising! How did it work for you? – emotality Jul 17 '16 at 16:09
  • Not great. The UI test only picked up half of the button presses due to it not being able to correctly read the buttons in the web view. So I used Firefox instead (see my answer below). But if I get another Mac in the future and I learn to write native apps, I'll definitely give this a go again. – DrFrankly Jul 18 '16 at 8:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .