Simulator Help Topics

Simulator overview: Use Simulator to rapidly prototype and test builds of your app on iOS, watchOS, and tvOS.

Use Simulator

Open and close a simulator: Choose a device from the Hardware > Devices submenu to start a simulator. Close a simulator by selecting the window and choosing File > Close Window.

Resize a simulator window: Resize a simulator by dragging the window frame or bezel, or by choosing an item from the Window menu.

Install your app on a simulated device: Install your app on a simulated device by building and running from Xcode or dragging the app built by Xcode into the simulator.

Synchronize the clipboard contents: Choose Edit > Automatically Sync Pasteboard to turn on and turn off automatic synchronization of the clipboard contents between the simulated device and the Mac. A checkmark indicates the clipboard content is being synchronized.

Capture the screen of the simulated device: Save an image of the current screen by choosing File > New Screen Shot, or copy the screen by choosing Edit > Copy Screen.

Removing simulator runtimes: Remove simulator runtimes by deleting the file in /Library/Developer/CoreSimulator/Profiles/Runtimes.

Add a complication to the gallery of the Watch App: Add a complication to the gallery in the Watch App by implementing getLocalizableSampleTemplateForComplication:withHandler:, launching your app in Simulator, choosing File > Save Complication Bundle, and adding the resulting bundle to the resources of your iOS app.

Interact with devices

Interact with iOS: Use the pointer, keyboard, menu items, and buttons on the bezel to interact with simulated iOS devices.

Interact with watchOS: Use the pointer, keyboard, menu items, and buttons on the bezel to interact with simulated watchOS devices.

Interact with tvOS: Control the focus on a simulated tvOS device with a keyboard, a simulated Apple TV Remote, or a physical remote.

Toggle light and dark appearance on tvOS: Press Command-Shift-D to toggle between the light and dark appearances for tvOS.

Show and hide the bezel for a simulator: Chose Window > Show Device Bezels to show and hide the bezel.

Restart or reset a simulated device: Restart the simulated device by choosing Hardware > Restart. Reset the device by choosing Hardware > Reset Content and Settings.

Simulate drag and drop on iOS: Simulate drag and drop by using the Control key to hold the first finger over the drag item, navigating to the drag location, then moving the drag item to the location.

Set the source for audio input and the device for audio output: Select the audio input or audio output of simulated devices by choosing an item form the Hardware > Audio Input or the Hardware > Audio Output menus .

Redirect keyboard shortcuts to a simulated device: Choose Hardware > Keyboard > Send Menu Keyboard Keyboard Shortcuts to Device to toggle sending keyboard shortcuts to a device.

Enter text using the Mac Keyboard: Use the keyboard on your Mac as input to the simulated device by choosing Hardware > Keyboard > Connect Hardware Keyboard.

Debug apps

Debug and optimize graphics using color overlays: Use Debug menu items to color on-screen elements that can impact performance and memory by choosing Debug > Color Blended Layers, Copied Images, Misaligned Images, or Offscreen-Rendered Images.

Examine animations: Choose Debug > Slow Animations and examine the animations for skipped frames, rendering problems, and other issues. Choose the menu item again to clear the checkmark and return the animation speed to normal.

Examine the system log: Choose Debug > Open System Log to open the system log for the simulated device in the Console app.

Test apps

Differences between simulated and physical devices: There are differences between simulated and physical devices including performance, and supported hardware and APIs.

Send data to a simulator from your Mac: Share images, website URLs, locations, and routes with a simulator using the Share menu on your Mac or by dragging in the data.

Set a location or route: Test your layout when the in-call status bar is showing by choosing Hardware > Toggle In-Call Status Bar.

Test your app receiving a memory warning: Choose Debug > Simulate Memory Warning to send a memory warning to your app delegate and view controllers, and to send the system notification.

Test iCloud: Choose Debug > Trigger iCloud Sync to trigger the system to download updates from the server.

Test authentication: Use the items in Hardware > Touch ID or Hardware > Face ID to test if your code checks for enrolled fingers, and if it responds correctly to matching and non-matching touches.

Test Apple Pay: Choose Hardware > Authorize Apple Pay to complete an Apple Pay transaction on iOS and watchOS.

Test your layout with the in-call status bar: Test your layout when the in-call status bar is showing by choosing Hardware > Toggle In-Call Status Bar.

Simulate an external display: Simulate a connected external display by choosing a size from Hardware > External Display. Choose Disabled to disconnect the simulated display.

Troubleshoot Simulator

Insufficient resources error when trying to launch a simulator: To fix the insufficient resources error, close simulators and Mac apps that are not required to free up resources.

Scrolling or animation are slow: Choose Debug > Graphics Quality Override > Low Quality to force Simulator to use lower quality.

The simulated screen renders slowly: Choose Debug > Optimize Rendering for Window Scale until a checkmark appears. If that does not work, try setting the sale to 100% or full size.

Reporting bugs: File bugs through the Apple Developer website and list the version number of Xcode.