ChatGPT解决这个技术问题 Extra ChatGPT

Take screenshots in the iOS simulator

I want to take a screenshot of my iOS application when it is running in the simulator, and save the screenshot on my Mac. How can I do this?


W
Wojciech Rutkowski

It's just as simple as command+s or File > Save Screen Shot in iOS Simulator. It will appear on your desktop by default.


How do I get it to prompt me for the location to save to?
There is no ready-to-use solution as per stackoverflow.com/q/23661097/1659311
UIApplicationUserDidTakeScreenshotNotification did not fire.
In Xcode 9 you can hold down Option and you will be prompted for a location to save the screenshot.
@jameshfisher - This may help you to get prompt for location to save - stackoverflow.com/a/48150656/5638630
P
Pranav Kasetti

An update with Xcode 11.4 simulator

To capture a screen shot, click on 'Camera' icon/action button, on the top bar of simulator.

https://i.stack.imgur.com/RuK9V.jpg

OR

Select Save Screen Shot menu item, from File menu.

File => Save Screen Shot

Use ⌘ + S to capture a screen shot. (Use window + s, if you are using windows/non-apple keyboard).

https://i.stack.imgur.com/RsYwq.png

See for more details: How to change simulator scale options with Xcode 9+.

Tip 1: How do you get screen shot with 100% (a scale with actual device size) that can be uploaded on AppStore?

Disable Optimize Rendering for Window scale from Debug menu, before you take a screen shot.

Here is an option

Menubar ▶ Debug ▶ Disable "Optimize Rendering for Window scale"

https://i.stack.imgur.com/riDUo.png

Tip 2: Where is screen shot saved (Default Path)? How to change default path?

Simulator saves screen shot file on (logged-in user's) desktop and it's default path.

To change default path (with Xcode 9+), press and hold ⌥ Option (alt) button from keyboard, while you take a screen shot. Or Using Mac Keyboad: Press keys ⌥ Option + ⌘ + s all together. It will show to a dialog with file storage options and also allows to set/change default path.

https://i.stack.imgur.com/6ktma.png

Tip 3: How to take a screen shot with Device Bezel?

Enable Show Device Bezel from Window menu.

Here is an option

Menubar ▶ Window ▶ Enable "Show Device Bezel"

https://i.stack.imgur.com/NfpCA.png

Now,

Press ⌘ + shift + 4 + Spacebar, all together in Mac Keyboard. (A window snap capture mode will become active) Select Simulator window/frame, that you want to capture. It will save screenshot with device bezel (with shadow effect in background) on (logged-in user's) desktop.

You can also remove the Simulator toolbar as described here.


Also, hold ⌘ when you click on the simulator to skip the device name on the bottom in the screenshot.
@ManojShrestha You are welcomed to edit this answer by adding your suggestion.
Why is this NOT accepted answer. Thanks a ton Krunal for this compilation!
I liked this answer.
it doesn't work anymore after latest (11.4) Xcode update
M
Mujah Maskey

on iOS Simulator,

Press Command + control + c or from menu : Edit>Copy Screen

open "Preview" app, Press Command + n or from menu : File> New from clipboard , then you can save command+s

For Retina, activate iOS Simulator then on menu:HardWare>Device>iPhone (Retina) and follow above process

Command + S

is the way to save on Desktop, (on new iPhone simulators, this was introduced in later simulator)


佚名

Press Command+Shift+4 and then keep the mouse pointer on Simulator and then press "Space Bar" key one camera icon will appear, now left click the mouse. Your simulator screen shot is saved on desktop. You can take the screen shot any small screen in the same way.


this will not capture scrolled content though
You should only do this if you want to capture a screenshot with the bezel.
Nice, I wanted the frame too so great solution :)
J
Janak Nirmal

You can google for IOS Simulator Cropper software useful for capturing screen shots and also easy to use with various options of taking snapshots like with simulator/without simulator.

Update Just pressing CMD + S will give you screenshot saved on desktop. Pretty easy huh..


b
bartosss

Since Xcode 8.2, you can also save a screenshot with the following command:

xcrun simctl io booted screenshot

Further information in this blog: https://medium.com/@hollanderbart/new-features-in-xcode-8-2-simulator-fc64a4014a5f#.bzuaf5gp0


The crash was a framework bug that we worked around in Xcode 8.3.3. It does not apply to Xcode 9 or later.
M
MaxEcho

Focus simulator Go to menu File->Save Screen Shot or Press ⌘+S

Screen shot saves in desktop


M
Mehul

Simple answer with sample answer ;-)

on iOS Simulator,

Press Command + control + c or from menu : Edit>Copy Screen

https://i.stack.imgur.com/9szFw.png

open "Preview" app, Press Command + n or from menu : File> New from clipboard , then you can save Command + s

UnCheck Alpha

https://i.stack.imgur.com/3KfJH.png

You can change Image dimension to your requirement.

https://i.stack.imgur.com/i7k4y.png

Here is the Final Image,For example

https://i.stack.imgur.com/hRqFc.jpg


j
jc-alvaradov

For some reason the commands posted before dont work for me, but this one does:

xcrun simctl io booted screenshot screenshot.png

Running Xcode 9.2


K
Kasumi Gunasekara

First, run the app on simulator. Then, use command+s, or File -> Save Screenshot in Simulator to take necessary and appropriate shots. The screenshots will appear on your desktop by default.


S
Saranjith

2020 Latest Update: XCode 11.4

Click on the camera icon above simulator to capture screenshot and save to your camera roll

https://i.stack.imgur.com/rbH0c.png

Another option: File > Save Screen from simulator


it takes screenshots without device frame
seems like the "command" key to remove the device name at the bottom doesn't work anymore, bummer. Need to manually crop the top out.
R
Robin

For people using Xcode 11.4, to get rid of the simulator top bar, this is far from ideal but you can disable shadows for the screenshot application in a terminal with the following command :

$ defaults write com.apple.screencapture disable-shadow -bool TRUE; killall SystemUIServer

Then, you can use ⌘ + ⇧ + 4 and select the simulator to take a screenshot. Without the shadow, you can easily crop the top bar with the preview app. To re-enable the shadow for the screenshot application :

$ defaults write com.apple.screencapture disable-shadow -bool FALSE; killall SystemUIServer

Source of this answer here.


M
MRizwan33

In OSX Captain its a bug to take screenshot of simulator. You have to Update your OSX Sierra first then your are able to take. while taking in OSX Captain use terminal command which is xcrun simctl io booted screenshot.

before running this command u have to select desktop in terminal like:

"cd desktop" then run that command. Happy Coding!!!


S
Shourob Datta

Screenshot with device frame

Step - 1 Open quick time player

Step - 2 Tap new screen recording

https://i.stack.imgur.com/Nd6Zk.png

https://i.stack.imgur.com/JDKol.png

https://i.stack.imgur.com/OYCy9.png

Step - 5 Screenshot will open using preview. save it.

Here is some sample screenshot

https://i.stack.imgur.com/awOp1.png


This is exactly what I want, but when I take the snapshot, it also captures the bar that is above the iPhone with the close/minimize/full screen buttons, as well as the capture, home, and rotate buttons. How do I capture just the phone without this bar?
C
CeDeROM

Click CMD+SHIFT+4. Put mouse over Simulator. Press SPACE to select whole Window. Press ALT+Enter to capture simulator window with no shadow. Remove top bar from screenshot in GIMP or double click on screenshot preview to edit.

I found no way to hide top window bar and screenshot nice phone image with shadow. Apple rox ;-)


j
jomafer

Press ⌘S or go to File > Save screenshot from your simulator menu and you will get the screenshot saved on your desktop.


Oh my mistake this will be possible only if you are running MAC using VMWare
Thanks Devang. May i will try it for VMWare.
D
Deepak Tagadiya

First method:

Select simulator and press "command + s" button. Screenshot saved on desktop.

Second method:

Select simulator and go to "File > New Screenshot". Screenshot saved on desktop.


What have you added to this question that was worth resurrecting a years old question?
N
N..

In case using XCUITests automation :

XCUIApplication().buttons["Add"].screenshot()
XCUIApplication().table["names"].screenshot()

API details : https://developer.apple.com/documentation/xctest/xcuiscreenshot


M
Muhammad Zeeshan

Taking Screen Shot in IOS Simulator is SO Simple.

When you Open Simulator In the Right Lift You See File.

Click On File And You See Option Save Screen Shot.

This Option Saves Your Screen Shot In Default Path Which is Desktop.


This is more or less just a repeat of the existing answers.
@Pang no this one is way more condescending, to get the point across of course.