在 iOS 模拟器中截取屏幕截图

Take screenshots in the iOS simulator

提问人:Shreyash Mahajan 提问时间:8/17/2011 最后编辑:KrunalShreyash Mahajan 更新时间:1/8/2023 访问量:304712

问:

我想在模拟器中运行时对 iOS 应用程序截取屏幕截图,并将屏幕截图保存在我的 Mac 上。我该怎么做?

ios iphone xcode ios-simulator 截图

评论


答:

2赞 Devang 8/17/2011 #1

从模拟器菜单中按或转到“文件”>“保存屏幕截图”,您将在桌面上保存屏幕截图。⌘S

评论

0赞 Devang 8/17/2011
哦,我的错误,只有当您使用 VMWare 运行 MAC 时,这才有可能
1赞 Shreyash Mahajan 8/17/2011
谢谢德旺。我可以尝试一下VMWare。
16赞 Janak Nirmal 8/17/2011 #2

您可以在谷歌上搜索IOS Simulator Cropper软件,该软件可用于捕获屏幕截图,并且还易于使用,具有拍摄快照的各种选项,例如使用模拟器/不使用模拟器。

更新只需按 + 即可将屏幕截图保存在桌面上。很简单,呵呵。CMDS

30赞 user1031217 11/10/2011 #3

按下,然后将鼠标指针保持在模拟器上,然后按 键将出现一个相机图标,现在是鼠标。模拟器屏幕截图保存在桌面上。您可以以相同的方式拍摄任何小屏幕的屏幕截图。Command+Shift+4"Space Bar"left click

评论

0赞 Code Tree 3/9/2017
不过,这不会捕获滚动的内容
1赞 russbishop 9/15/2017
仅当您想使用挡板捕获屏幕截图时,才应执行此操作。
0赞 Paula Hasstenteufel 12/20/2017
很好,我也想要框架,所以很棒的解决方案:)
40赞 Mujah Maskey 2/24/2012 #4

在 iOS 模拟器上,

按 或 从菜单 :Command + control + cEdit>Copy Screen

打开“预览”应用程序,按 或从菜单:文件>从剪贴板新建 ,然后您可以保存Command + ncommand+s

对于 Retina,激活 iOS 模拟器,然后在菜单上激活:并按照上述过程进行操作HardWare>Device>iPhone (Retina)

Command + S

是在桌面上保存的方式,(在新的iPhone模拟器上,这是在后来的模拟器中引入的)

1030赞 Wojciech Rutkowski 4/10/2013 #5

这就像 iOS 模拟器中的 + 或 > 一样简单。默认情况下,它将出现在您的桌面上。commandsFileSave Screen Shot

评论

2赞 jameshfisher 4/24/2015
如何让它提示我保存到的位置?
2赞 Wojciech Rutkowski 4/24/2015
根据 stackoverflow.com/q/23661097/1659311,没有现成的解决方案
6赞 tounaobun 8/5/2015
UIApplicationUserDidTakeScreenshotNotification 未触发。
11赞 russbishop 9/15/2017
在 Xcode 9 中,您可以按住 Option,系统将提示您输入保存屏幕截图的位置。
1赞 Krunal 1/9/2018
@jameshfisher - 这可能有助于您获得保存位置的提示 - stackoverflow.com/a/48150656/5638630
14赞 MD SHAHIDUL ISLAM 12/3/2014 #6
  1. 对焦模拟器
  2. 转到菜单 File->Save 屏幕截图

    +S

屏幕截图保存在桌面上

15赞 bartosss 12/18/2016 #7

从 Xcode 8.2 开始,您还可以使用以下命令保存屏幕截图:

xcrun simctl io booted screenshot

本博客中的更多信息:https://medium.com/@hollanderbart/new-features-in-xcode-8-2-simulator-fc64a4014a5f#.bzuaf5gp0

评论

0赞 russbishop 9/15/2017
崩溃是我们在 Xcode 8.3.3 中解决的框架错误。它不适用于 Xcode 9 或更高版本。
2赞 MRizwan33 2/23/2017 #8

在OSX Captain中,截取模拟器的屏幕截图是一个错误。您必须先更新您的OSX Sierra,然后才能使用。在OSX Captain中使用终端命令时,该命令是xcrun simctl io启动的屏幕截图

在运行此命令之前,您必须在终端中选择桌面,例如:

“cd desktop”,然后运行该命令。祝您编码愉快!!

-2赞 Muhammad Zeshan Mazhar 2/28/2017 #9

在IOS模拟器中截屏非常简单。

当您在右侧电梯中打开模拟器时,您会看到文件。

单击“文件”,您会看到“保存屏幕截图”选项。

此选项将屏幕截图保存在默认路径(即桌面)中。

评论

2赞 Pang 3/2/2017
这或多或少只是现有答案的重复。
0赞 rorypicko 1/4/2019
@Pang不,这个人更居高临下,当然是为了表达这一点。
3赞 Kasumi Gunasekara 10/23/2017 #10

首先,在模拟器上运行应用程序。 然后,使用 command+sFile -> Save Screenshot in Simulator 拍摄必要和适当的照片。 默认情况下,屏幕截图将显示在您的桌面上。

162赞 Krunal 1/8/2018 #11

Xcode 11.4 模拟器的更新

要捕获屏幕截图,请单击模拟器顶部栏上的“相机”图标/操作按钮。

enter image description here

从菜单中选择菜单项。Save Screen ShotFile

文件 => 保存屏幕截图


用于捕获屏幕截图。
(如果您使用的是 Windows/非 Apple 键盘,请使用 )。
⌘ + Swindow + s

enter image description here

有关更多详细信息,请参阅:如何使用 Xcode 9+ 更改模拟器缩放选项。


提示 1:如何获得可以上传到 AppStore 的 100%(具有实际设备尺寸的比例)的屏幕截图?

在截屏之前从菜单中禁用Optimize Rendering for Window scaleDebug

这是一个选项

菜单栏▶调试▶禁用“优化窗口缩放的渲染”

enter image description here


提示2:屏幕截图保存在哪里(默认路径)?如何更改默认路径?

模拟器将屏幕截图文件保存在(登录用户的)桌面上,它是默认路径。

若要更改默认路径(使用 Xcode 9+),请在拍摄屏幕截图时按住键盘上的 (alt) 按钮。
或使用
Mac Keyboad:同时按下 + + 键。
它将显示一个带有文件存储选项的对话框,还允许设置/更改默认路径。
⌥ Option⌥ Option s

enter image description here


提示3:如何使用设备挡板拍摄屏幕截图?

从菜单启用。Show Device BezelWindow

这是一个选项

菜单栏▶窗口▶启用“显示设备挡板”

enter image description here

现在

  1. 按 + + + ,在 Mac 键盘中一起。(窗口捕捉捕获模式将变为活动状态)shift4Spacebar
  2. 选择要捕获的窗口/框架。它将在(登录用户的)桌面上保存带有设备挡板(背景中带有阴影效果)的屏幕截图。Simulator

您也可以按照此处所述删除模拟器工具栏。

评论

7赞 Manoj Shrestha 4/13/2019
此外,单击模拟器时按住 ⌘ 可跳过屏幕截图底部的设备名称。
0赞 Krunal 4/15/2019
@ManojShrestha 欢迎您通过添加您的建议来编辑此答案。
1赞 Xonshiz 4/30/2019
为什么这个答案不被接受。非常感谢 Krunal 的这份汇编!
0赞 Teofilo Israel Vizcaino Rodrig 11/6/2019
我喜欢这个答案。
1赞 4/15/2020
最新 (11.4) Xcode 更新后不再工作
4赞 jc-alvaradov 5/15/2018 #12

由于某种原因,之前发布的命令对我不起作用,但这个命令对我不起作用:

xcrun simctl io booted screenshot screenshot.png

运行 Xcode 9.2

0赞 Deepak Tagadiya 5/28/2018 #13

第一种方法:

选择模拟器并按“command + s”按钮。屏幕截图保存在桌面上。

第二种方法:

选择模拟器并转到“文件>新屏幕截图”。屏幕截图保存在桌面上。

评论

3赞 Fogmeister 5/28/2018
你对这个问题补充了什么,值得复活一个多年前的问题?
14赞 Mehul 5/2/2019 #14

带有示例答案的简单答案;-)

在 iOS 模拟器上,

Command + control + c从菜单:编辑>复制屏幕

在此处输入图像描述

打开“预览”应用程序,按Command + n或从菜单中:文件>从剪贴板新建,然后您可以保存Command + s

取消选中 Alpha

enter image description here

您可以根据需要更改图像尺寸。

enter image description here

这是最终图像,例如

enter image description here

3赞 Saranjith 4/10/2020 #15

2020 年最新更新:XCode 11.4

单击模拟器上方的相机图标以捕获屏幕截图并保存到相机胶卷中

enter image description here

另一种选择:从模拟器>保存屏幕的文件

评论

5赞 4/15/2020
它可以在没有设备框架的情况下截取屏幕截图
3赞 Phuah Yee Keat 4/17/2020
似乎删除底部设备名称的“命令”键不再起作用,无赖。需要手动裁剪顶部。
5赞 Robin 5/17/2020 #16

对于使用 Xcode 11.4 的人来说,要摆脱模拟器顶部栏,这远非理想,但您可以使用以下命令在终端中禁用屏幕截图应用程序的阴影:

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

然后,您可以使用 + + 并选择模拟器进行屏幕截图。如果没有阴影,您可以使用预览应用程序轻松裁剪顶部栏。要重新启用屏幕截图应用程序的阴影:4

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

这个答案的来源在这里

2赞 Shourob Datta 7/21/2020 #17

带有设备框架的屏幕截图

步骤 - 1打开快速时间播放器

步骤 - 2点按“新屏幕录制”图标

enter image description here

步骤 - 3选择“捕获所选窗口”enter image description here

步骤 - 4模拟器上的光标点。它会自动选择整个模拟器,例如enter image description here

步骤 - 5屏幕截图将使用预览打开。省省吧。

以下是一些示例屏幕截图

enter image description here enter image description here

评论

2赞 jon 1/14/2021
这正是我想要的,但是当我拍摄快照时,它还会捕获iPhone上方的栏,其中包含关闭/最小化/全屏按钮,以及捕获,主页和旋转按钮。如何在没有此栏的情况下仅捕获手机?
0赞 N.. 6/18/2021 #18

在使用 XCUITests 自动化的情况下:

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

API 详细信息 : https://developer.apple.com/documentation/xctest/xcuiscreenshot

2赞 CeDeROM 12/9/2021 #19
  1. 单击 CMD+SHIFT+4。
  2. 将鼠标悬停在模拟器上。
  3. 按空格键选择整个窗口。
  4. 按 Alt+Enter 捕获没有阴影的模拟器窗口。
  5. 在GIMP中从屏幕截图中删除顶部栏或双击屏幕截图预览进行编辑。

我发现没有办法隐藏顶部窗口栏和带有阴影的漂亮手机图像。苹果 rox ;-)

1赞 Max Blank 1/8/2023 #20

如果要将设备框架附加到屏幕截图,请使用

xcrun simctl io booted screenshot shot.png && curl -F '[email protected]' "https://shot.withfra.me/new"

它将屏幕截图上传到添加设备帧的第三方 (WithFrame)。

更多信息可以在这里找到