Giter VIP home page Giter VIP logo

wix-incubator / detoxinstruments Goto Github PK

View Code? Open in Web Editor NEW
632.0 53.0 37.0 1.62 GB

Detox Instruments is a performance–analysis and testing framework, designed to help developers profile their mobile apps in order to better understand and optimize their app's behavior and performance.

License: MIT License

Objective-C 92.46% C 1.08% Objective-C++ 2.52% Python 0.35% Shell 1.50% C++ 0.88% HTML 0.97% Swift 0.07% JavaScript 0.16%
performance-analysis macos ios detox-instruments profiler-framework react-native profile cpu memory

detoxinstruments's Introduction

Detox Instruments

About

Detox Instruments is a performance–analysis and testing framework, designed to help developers profile their mobile apps in order to better understand and optimize their app's behavior and performance. In addition, Detox Instruments includes utilities for managing your app's resources, such user defaults, pasteboard, cookies, etc.

Detox Instruments

Incorporating Detox Instruments into the development workflow from the beginning of the app development process can save time later by helping find issues early in the development cycle. Detox Instruments has first–class support for React Native, allowing seamless analysis of the entire app lifecycle in one place.

Detox Instruments supports profiling the following metrics:

  • Performance profiling
    • CPU load
      • Per-thread breakdown of CPU load
      • Heaviest stack trace sampling
      • Automatic runtime symbolication of stack traces
    • Memory usage
    • User interface FPS (frames per second)
    • Disk activity (reads and writes, open file names)
  • Network activity
    • Full request & response header and data collection and inspection
  • Developer events
  • React Native profiling (0.62.x and above)
    • JavaScript thread CPU load
    • Bridge call counters
    • Bridge data counters
    • Bridge data collection
    • Async storage metrics & data
  • Log output recording

For a list of available instruments and their description, see Available Instruments.

Detox Instruments includes the following app management utilities:

  • Container files
    • Download and upload files and folders to your app's container
  • Pasteboard
    • Copy and paste items between your Mac and your device
  • User defaults
    • Modify user defaults in real time
  • Cookies
    • Create and modify the app's HTTP cookies
  • Async storage (React Native only)
    • Modify the async storage store in real time

For a detailed overview, see App Management.

Installation

The Detox Instruments application requires macOS 10.14 (Mojave) and higher. The Profiler framework supports iOS 10 and higher.

Detox Instruments is installed using Homebrew Cask, by running the following commands:

brew tap wix/brew
brew cask install detox-instruments

This will install Detox Instruments under /Applications.

Integration with Your App's Project

In order to begin profiling your app, you need to integrate the Profiler framework in your app's project. See Profiler Framework Integration Guide for more information.

Developer API Reference

By integrating Detox Instruments in your app, many of the included instruments can automatically collect data. Some instruments require you to explicitly call the provided APIs so that specific data can be collected.

For an in-depth look at the available APIs, see Developer API Reference.

Profiling an App

Once you've installed Detox Instruments and integrated the Profiler framework with your app's project, you can start profiling your app.

The App Selection Dialog

After launching Detox Instruments or selecting FileNew Recording..., you will be presented with an app selection dialog, displaying a list of available apps to profile. Launch your app on your mobile device or simulator and your app will appear in the list. You can choose to start a live profiling, or app launch profiling. For more information, see App Launch Profiling.

See App Discovery for more information and troubleshooting.

App Discovered

To start profiling, select your app and click on the Profile button.

To manage profiling options, such as sampling frequency and recording features, see Profiling in the preferences. For an in-depth look at profiling preferences, see Profiling Preferences.

Live Console

Live Console

Detox Instruments includes a utility for collecting and viewing log messages generated by your device. For more information, see Live Console.

App Management

App Management

Detox Instruments includes a set of app management utilities for managing your app's settings and resources.

To manage your app, click on the Manage button (Gear Button) in the app selection dialog. You can manage multiple apps at the same time. For an in-depth look at app management, see App Management.

The Recording Document

A recording document is used to initiate new profiling and view and analyze the results of profiling. You create a new recording document by selecting FileNew Recording... and choosing an app to profile.

Detox Instruments

You can also save and reopen recording documents in which you’ve collected data previously. A recording document can contain a lot of extremely detailed information, and this information is presented to you through a number of panes and areas.

For detailed information on the recording document, see The Recording Document.

For detailed information on the application preferences, see Preferences

Instruments

Detox Instruments includes many instruments to analyze many aspects of your app.

Instruments

For a list of available instruments and their description, see Available Instruments.

Requests Playground

Requests Playground

Detox Instruments includes a utility for replaying and modifying network requests, called Requests Playground. These requests can be saved as a document for future reference and testing. For more information, see Requests Playground.

Acknowledgements

See Acknowledgements

Troubleshooting

See Troubleshooting

detoxinstruments's People

Contributors

andykog avatar artald avatar benlaverriere avatar leonatan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

detoxinstruments's Issues

Crash when running Detox and Profiler framework

Describe the bug
When Detox Instruments is installed, demo-react-native and any other apps crash just after starting detox test -c ios.sim.debug. Tests fails after 120s (timeout). If Detox Instruments is uninstalled, app no longer crashes and detox test works as expected.

To Reproduce

  • I have tested this issue on the latest Detox release and it still reproduces

Provide the steps necessary to reproduce the issue. If you are seeing a regression, try to provide the last known version where the issue did not reproduce.

  1. brew tap wix/brew
  2. brew cask install detox-instruments
  3. git clone https://github.com/wix/Detox.git
  4. cd Detox/examples/demo-react-native
  5. yarn install
  6. yarn start
  7. detox build --configuration ios.sim.debug
  8. detox test --configuration ios.sim.debug -l "trace"

If possible, please provide a small demo project that reproduces the issue, or attach a video with the reproduction - this would be very appreciated.

Expected behavior
detox test should succeed for examples/demo-react-native instead of failing after timeout.

Environment (please complete the following information):

  • Detox: 13.0.0
  • React Native: 0.59.8
  • Node: 10.16.0 (also tested on 10.14.2)
  • Device: iPhone X Simulator
  • Xcode: 10.2.1 (10E1001)
  • iOS: 12.2
  • macOS: 10.14.5

Device and Verbose Detox Logs
Provide the device and "trace" Detox logs so we can understand what happened. You can obtain them by passing the loglevel param: detox test --loglevel trace

detox[39312] INFO:  [test.js] �[32mnode_modules/.bin/mocha --opts e2e/mocha.opts --configuration ios.sim.debug --loglevel trace --grep :android: --invert --artifacts-location "artifacts/ios.sim.debug.2019-06-28 12-40-34Z" "e2e"�[39m


detox[39314] INFO:  [DetoxServer.js] �[32mserver listening on localhost:62436...�[39m
detox[39314] DEBUG: [AsyncWebSocket.js/WEBSOCKET_OPEN] �[36mopened web socket to: ws://localhost:62436�[39m
detox[39314] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] �[90m{"type":"login","params":{"sessionId":"8f5f5992-2601-bc00-d073-0ac20b29fada","role":"tester"},"messageId":0}�[39m
detox[39314] DEBUG: [DetoxServer.js/LOGIN] �[36mrole=tester, sessionId=8f5f5992-2601-bc00-d073-0ac20b29fada�[39m
detox[39314] DEBUG: [DetoxServer.js/LOGIN_SUCCESS] �[36mrole=tester, sessionId=8f5f5992-2601-bc00-d073-0ac20b29fada�[39m
detox[39314] TRACE: [AsyncWebSocket.js/WEBSOCKET_MESSAGE] �[90m{"type":"loginSuccess","params":{"sessionId":"8f5f5992-2601-bc00-d073-0ac20b29fada","role":"tester"},"messageId":0}�[39m
�[90m �[39m
detox[39314] DEBUG: [exec.js/EXEC_CMD, #0] �[36m/usr/bin/xcrun simctl list -j�[39m
detox[39314] TRACE: [exec.js/EXEC_SUCCESS, #0] �[90m{�[39m
�[90m  "devicetypes" : [�[39m
�[90m    {�[39m
�[90m      "name" : "iPhone 4s",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 4s.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-4s"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPhone 5",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 5.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-5"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPhone 5s",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 5s.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-5s"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPhone 6",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 6.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-6"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPhone 6 Plus",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 6 Plus.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-6-Plus"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPhone 6s",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 6s.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-6s"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPhone 6s Plus",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 6s Plus.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-6s-Plus"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPhone 7",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 7.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-7"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPhone 7 Plus",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 7 Plus.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-7-Plus"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPhone 8",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 8.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-8"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPhone 8 Plus",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 8 Plus.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-8-Plus"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPhone SE",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone SE.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-SE"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPhone X",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone X.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-X"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPhone Xs",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone Xs.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-XS"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPhone Xs Max",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone Xs Max.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-XS-Max"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPhone Xʀ",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone Xʀ.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-XR"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPad mini (5th generation)",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad mini (5th generation).simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-mini--5th-generation-"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPad Air (3rd generation)",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Air (3rd generation).simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Air--3rd-generation-"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPad 2",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad 2.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-2"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPad Retina",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Retina.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Retina"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPad Air",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Air.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Air"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPad mini 2",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad mini 2.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-mini-2"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPad mini 3",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad mini 3.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-mini-3"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPad mini 4",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad mini 4.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-mini-4"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPad Air 2",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Air 2.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Air-2"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPad (5th generation)",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad (5th generation).simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad--5th-generation-"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPad Pro (9.7-inch)",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Pro (9.7-inch).simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Pro--9-7-inch-"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPad Pro (12.9-inch)",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Pro (12.9-inch).simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Pro"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPad Pro (12.9-inch) (2nd generation)",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Pro (12.9-inch) (2nd generation).simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Pro--12-9-inch---2nd-generation-"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPad Pro (10.5-inch)",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Pro (10.5-inch).simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Pro--10-5-inch-"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPad (6th generation)",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad (6th generation).simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad--6th-generation-"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPad Pro (11-inch)",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Pro (11-inch).simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Pro--11-inch-"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "iPad Pro (12.9-inch) (3rd generation)",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Pro (12.9-inch) (3rd generation).simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Pro--12-9-inch---3rd-generation-"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "Apple TV",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/AppleTVOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple TV.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-TV-1080p"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "Apple TV 4K",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/AppleTVOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple TV 4K.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-4K"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "Apple TV 4K (at 1080p)",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/AppleTVOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple TV 4K (at 1080p).simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-1080p"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "Apple Watch - 38mm",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/WatchOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple Watch - 38mm.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-38mm"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "Apple Watch - 42mm",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/WatchOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple Watch - 42mm.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-42mm"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "Apple Watch Series 2 - 38mm",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/WatchOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple Watch Series 2 - 38mm.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-2-38mm"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "Apple Watch Series 2 - 42mm",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/WatchOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple Watch Series 2 - 42mm.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-2-42mm"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "Apple Watch Series 3 - 38mm",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/WatchOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple Watch Series 3 - 38mm.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-3-38mm"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "Apple Watch Series 3 - 42mm",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/WatchOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple Watch Series 3 - 42mm.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-3-42mm"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "Apple Watch Series 4 - 40mm",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/WatchOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple Watch Series 4 - 40mm.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-4-40mm"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "name" : "Apple Watch Series 4 - 44mm",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/WatchOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple Watch Series 4 - 44mm.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-4-44mm"�[39m
�[90m    }�[39m
�[90m  ],�[39m
�[90m  "runtimes" : [�[39m
�[90m    {�[39m
�[90m      "bundlePath" : "\/Library\/Developer\/CoreSimulator\/Profiles\/Runtimes\/iOS 11.4.simruntime",�[39m
�[90m      "availabilityError" : "",�[39m
�[90m      "buildversion" : "15F79",�[39m
�[90m      "availability" : "(available)",�[39m
�[90m      "isAvailable" : true,�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimRuntime.iOS-11-4",�[39m
�[90m      "version" : "11.4",�[39m
�[90m      "name" : "iOS 11.4"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "bundlePath" : "\/Library\/Developer\/CoreSimulator\/Profiles\/Runtimes\/iOS 12.0.simruntime",�[39m
�[90m      "availabilityError" : "",�[39m
�[90m      "buildversion" : "16A366",�[39m
�[90m      "availability" : "(available)",�[39m
�[90m      "isAvailable" : true,�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimRuntime.iOS-12-0",�[39m
�[90m      "version" : "12.0",�[39m
�[90m      "name" : "iOS 12.0"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/Runtimes\/iOS.simruntime",�[39m
�[90m      "availabilityError" : "",�[39m
�[90m      "buildversion" : "16E226",�[39m
�[90m      "availability" : "(available)",�[39m
�[90m      "isAvailable" : true,�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimRuntime.iOS-12-2",�[39m
�[90m      "version" : "12.2",�[39m
�[90m      "name" : "iOS 12.2"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/AppleTVOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/Runtimes\/tvOS.simruntime",�[39m
�[90m      "availabilityError" : "",�[39m
�[90m      "buildversion" : "16L225",�[39m
�[90m      "availability" : "(available)",�[39m
�[90m      "isAvailable" : true,�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimRuntime.tvOS-12-2",�[39m
�[90m      "version" : "12.2",�[39m
�[90m      "name" : "tvOS 12.2"�[39m
�[90m    },�[39m
�[90m    {�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/WatchOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/Runtimes\/watchOS.simruntime",�[39m
�[90m      "availabilityError" : "",�[39m
�[90m      "buildversion" : "16T224",�[39m
�[90m      "availability" : "(available)",�[39m
�[90m      "isAvailable" : true,�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimRuntime.watchOS-5-2",�[39m
�[90m      "version" : "5.2",�[39m
�[90m      "name" : "watchOS 5.2"�[39m
�[90m    }�[39m
�[90m  ],�[39m
�[90m  "devices" : {�[39m
�[90m    "com.apple.CoreSimulator.SimRuntime.iOS-11-4" : [�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 5s",�[39m
�[90m        "udid" : "161951DC-4B36-4E26-B177-E12B64AC70C0",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 6",�[39m
�[90m        "udid" : "5F82A831-B7B6-4712-94CC-04276500BBAD",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 6 Plus",�[39m
�[90m        "udid" : "254CA077-31ED-480F-A409-7ADB6961F4EC",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 6s",�[39m
�[90m        "udid" : "124A017E-6BB0-4CCE-B1B7-03BEEEAA1752",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 6s Plus",�[39m
�[90m        "udid" : "885C3460-7200-4BBA-B21E-6F070FF5F248",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 7",�[39m
�[90m        "udid" : "534B7AC6-D555-43D7-A2D2-7D586F2A60E0",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 7 Plus",�[39m
�[90m        "udid" : "CB99AFE6-9BD9-4EBC-9566-3C11AC42543D",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 8",�[39m
�[90m        "udid" : "A9148523-3CDB-4EB6-92CD-38396CA9CA3D",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 8 Plus",�[39m
�[90m        "udid" : "DFF597D1-2C0F-4529-B44F-1F2CF4FA080C",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone SE",�[39m
�[90m        "udid" : "DAF29DA1-6B83-4BF7-88BF-080F91895690",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone X",�[39m
�[90m        "udid" : "E3112509-F167-4B19-977E-447D3B1C3D55",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Air",�[39m
�[90m        "udid" : "A29AB960-31FB-4EFD-9C9B-FC895FB8DF3A",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Air 2",�[39m
�[90m        "udid" : "9F63E7C2-0C1F-494F-81A2-8A6FE86FE66F",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad (5th generation)",�[39m
�[90m        "udid" : "28E2C5D7-8C38-4189-9561-5E62D2797DB4",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Pro (9.7-inch)",�[39m
�[90m        "udid" : "DB9BA4C0-ABE4-4425-B9EA-A9DFF2E1F9BF",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Pro (12.9-inch)",�[39m
�[90m        "udid" : "EB4AD75F-3835-4197-80A8-6E55994C3258",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Pro (12.9-inch) (2nd generation)",�[39m
�[90m        "udid" : "ED093649-11AE-4339-873F-54041024A49E",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Pro (10.5-inch)",�[39m
�[90m        "udid" : "3C8DD247-6DEA-48F1-8B21-EB04CA371C17",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      }�[39m
�[90m    ],�[39m
�[90m    "com.apple.CoreSimulator.SimRuntime.iOS-12-0" : [�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 5s",�[39m
�[90m        "udid" : "595E1777-A64B-424E-B071-BB062619F28B",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 6",�[39m
�[90m        "udid" : "82BFCB3A-2845-4B55-83CA-DD25D78A317C",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 6 Plus",�[39m
�[90m        "udid" : "BDCDF95B-B0DE-46B9-AC79-273E664760C9",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 6s",�[39m
�[90m        "udid" : "9A92EBB7-2886-4B1A-8106-14C72D733822",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 6s Plus",�[39m
�[90m        "udid" : "53A089CF-DCD1-433F-80CA-A30A7DA9A1F3",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 7",�[39m
�[90m        "udid" : "58835A02-7EB5-41A2-9BF8-2E99C49DFA50",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 7 Plus",�[39m
�[90m        "udid" : "BD32FC10-02E4-4CB6-9718-B71297A4A580",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 8",�[39m
�[90m        "udid" : "2C3BCCB3-F749-4F52-9FBF-DBFD2E106E5F",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 8 Plus",�[39m
�[90m        "udid" : "2EFF2631-1920-4BCF-9F93-18B29DA47301",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone SE",�[39m
�[90m        "udid" : "3948996D-AEB1-4205-A93C-A9D94E2D072E",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone X",�[39m
�[90m        "udid" : "C8A91571-F189-42B2-BADC-031563CD910A",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone XS",�[39m
�[90m        "udid" : "64568330-B173-4638-B450-65447A7E8226",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone XS Max",�[39m
�[90m        "udid" : "713B3CFD-B255-467B-B74A-D258C25F4EDA",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone XR",�[39m
�[90m        "udid" : "90B3F274-93C9-4780-AE33-4F98976456C8",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Air",�[39m
�[90m        "udid" : "4FE61227-68AE-4CE4-9B29-8EBC7A9935EC",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Air 2",�[39m
�[90m        "udid" : "3629B8F1-21F2-4177-B9BF-AF1912E6F283",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad (5th generation)",�[39m
�[90m        "udid" : "01DB26A2-7B51-429E-8BB6-006E8D5D01B1",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Pro (9.7-inch)",�[39m
�[90m        "udid" : "C7D88803-5C5E-494D-A53C-A28039C49A65",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Pro (12.9-inch)",�[39m
�[90m        "udid" : "B77DFD9E-9671-4D24-AB66-43B27E2CE84D",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Pro (12.9-inch) (2nd generation)",�[39m
�[90m        "udid" : "8ABD3390-9EA3-45D4-92E7-CE932475DDEA",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Pro (10.5-inch)",�[39m
�[90m        "udid" : "186BE98E-87D6-473C-8B36-6E727B264172",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad (6th generation)",�[39m
�[90m        "udid" : "1CBFC88B-E4CF-4506-8B4E-C1F43B49EE29",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      }�[39m
�[90m    ],�[39m
�[90m    "com.apple.CoreSimulator.SimRuntime.tvOS-12-1" : [�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "Apple TV",�[39m
�[90m        "udid" : "745F1BAF-7FD3-49A1-A28E-A358BDEAAE14",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "Apple TV 4K",�[39m
�[90m        "udid" : "9CE70CC4-015D-46C2-AEB4-31607EB93B45",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "Apple TV 4K (at 1080p)",�[39m
�[90m        "udid" : "9A5B68DB-BEFE-4E8F-A1C4-55007A88A94C",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      }�[39m
�[90m    ],�[39m
�[90m    "com.apple.CoreSimulator.SimRuntime.watchOS-5-1" : [�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "Apple Watch Series 2 - 38mm",�[39m
�[90m        "udid" : "39AE8CE7-B898-40EE-AB3D-49DD4105464A",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "Apple Watch Series 2 - 42mm",�[39m
�[90m        "udid" : "19CC063C-BD8D-486A-A8E6-7FB775AD9EA9",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "Apple Watch Series 3 - 38mm",�[39m
�[90m        "udid" : "EB879202-E6A1-4ACE-B39C-1D99BCBF7B5A",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "Apple Watch Series 3 - 42mm",�[39m
�[90m        "udid" : "9D1E7C2A-6FC4-4694-8170-02ACF1498DA0",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "Apple Watch Series 4 - 40mm",�[39m
�[90m        "udid" : "29FA4F32-A8E1-4013-BB43-36A450A9D818",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "Apple Watch Series 4 - 44mm",�[39m
�[90m        "udid" : "225C7931-2B00-470B-9E6F-3E2532B1E6C9",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      }�[39m
�[90m    ],�[39m
�[90m    "com.apple.CoreSimulator.SimRuntime.tvOS-12-2" : [�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "Apple TV",�[39m
�[90m        "udid" : "8A4C234A-A78D-48F3-B395-29E0BF462880",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "Apple TV 4K",�[39m
�[90m        "udid" : "DE8A0B17-88A9-47C9-86E5-9EA108F93A0A",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "Apple TV 4K (at 1080p)",�[39m
�[90m        "udid" : "2FCAD59D-8D71-4A00-9035-9EC7C05148D4",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      }�[39m
�[90m    ],�[39m
�[90m    "com.apple.CoreSimulator.SimRuntime.iOS-12-2" : [�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 5s",�[39m
�[90m        "udid" : "778BE663-3E0E-4A2B-BE67-6DB41D8236D0",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 6",�[39m
�[90m        "udid" : "A264292A-6D3C-41A8-B1B5-319920088AE3",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 6 Plus",�[39m
�[90m        "udid" : "D7D49186-F485-45BC-ADB2-9424AA5B3986",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 6s",�[39m
�[90m        "udid" : "9B6BF325-E709-4532-A42F-79EFE2FA932E",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 6s Plus",�[39m
�[90m        "udid" : "8E4B5443-C634-4364-B74F-F39CFD1CD361",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 7",�[39m
�[90m        "udid" : "C1D9DB73-7CF6-48F0-A05A-17B5580D0B7D",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 7 Plus",�[39m
�[90m        "udid" : "C126024E-743F-401C-BB1C-8CD5600964B5",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 8",�[39m
�[90m        "udid" : "384EF199-98BF-45D3-AB48-51A418346BC1",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone 8 Plus",�[39m
�[90m        "udid" : "E7E10741-B7C3-4977-818E-707CB4CDA1D4",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone SE",�[39m
�[90m        "udid" : "D3F5B66D-4818-41FD-8974-F4051ADEC431",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Booted",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone X",�[39m
�[90m        "udid" : "DC8FA5C9-9679-4E67-AFCE-94A48415A0FD",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone Xs",�[39m
�[90m        "udid" : "0B97A34B-F1AE-47F9-B0F7-DEF73C597EAE",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone Xs Max",�[39m
�[90m        "udid" : "0F3DD94B-34F9-413B-A24A-134DAB7D6971",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPhone Xʀ",�[39m
�[90m        "udid" : "BCABA979-0426-4638-854E-870279F35A1D",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Air (3rd generation)",�[39m
�[90m        "udid" : "B5F14D97-9E47-40CA-AD87-F9DF9060F90E",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Air",�[39m
�[90m        "udid" : "D1B6B89D-BA14-430F-87A2-954FCA72F033",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Air 2",�[39m
�[90m        "udid" : "DADB5755-9F17-4451-86CC-42335F945F6A",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad (5th generation)",�[39m
�[90m        "udid" : "7F09BC05-FF65-42EF-ADB5-6336205F89A6",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Pro (9.7-inch)",�[39m
�[90m        "udid" : "3620F11A-CB9A-49CF-A670-5C2D9AA4D245",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Pro (12.9-inch)",�[39m
�[90m        "udid" : "6A69CAA2-A11A-46C0-A8F9-EC1C6F205500",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Pro (12.9-inch) (2nd generation)",�[39m
�[90m        "udid" : "447F6222-79F1-41D8-931B-C29AF13883D7",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Pro (10.5-inch)",�[39m
�[90m        "udid" : "08996DDA-06F6-4E48-B6D4-6382976B646F",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad (6th generation)",�[39m
�[90m        "udid" : "762ECEB5-4720-4731-B5BD-A1B76542FAE9",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Pro (11-inch)",�[39m
�[90m        "udid" : "8483DF1B-9CB0-4EB2-AE9C-C651F7B2FBF0",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "iPad Pro (12.9-inch) (3rd generation)",�[39m
�[90m        "udid" : "2C8C1055-9876-4751-89AE-4EBFF8979DCE",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      }�[39m
�[90m    ],�[39m
�[90m    "com.apple.CoreSimulator.SimRuntime.watchOS-5-2" : [�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "Apple Watch Series 2 - 38mm",�[39m
�[90m        "udid" : "78ABE69A-9ECC-4FCA-A712-F6BBE603094F",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "Apple Watch Series 2 - 42mm",�[39m
�[90m        "udid" : "01EE7656-0E75-43F4-B0F8-96F324D55852",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "Apple Watch Series 3 - 38mm",�[39m
�[90m        "udid" : "2D401583-A6D8-4B87-8103-B95966CF515C",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "Apple Watch Series 3 - 42mm",�[39m
�[90m        "udid" : "A880EC04-1440-46F2-A310-2B9C4F24E170",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "Apple Watch Series 4 - 40mm",�[39m
�[90m        "udid" : "32E5C17F-9257-42FE-B892-BBFA6510BFD8",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(available)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : true,�[39m
�[90m        "name" : "Apple Watch Series 4 - 44mm",�[39m
�[90m        "udid" : "AAA17686-FA33-4910-9BA2-B3F71CD6121F",�[39m
�[90m        "availabilityError" : ""�[39m
�[90m      }�[39m
�[90m    ],�[39m
�[90m    "com.apple.CoreSimulator.SimRuntime.iOS-12-1" : [�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPhone 5s",�[39m
�[90m        "udid" : "072ED7C1-9CA0-49A8-B353-46F80F5193EA",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPhone 6",�[39m
�[90m        "udid" : "E8DFA03E-8894-4385-927F-B392ED589682",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPhone 6 Plus",�[39m
�[90m        "udid" : "64BA50EB-3464-477A-B925-783FC169BB88",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPhone 6s",�[39m
�[90m        "udid" : "EC1E43C0-9273-4AE1-BF06-A8A2D19EA08E",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPhone 6s Plus",�[39m
�[90m        "udid" : "9D82E61C-B3FF-4F85-94AA-8875AF23CAA4",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPhone 7",�[39m
�[90m        "udid" : "E93033C7-B498-4BB4-B6F6-6C438DEE8294",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPhone 7 Plus",�[39m
�[90m        "udid" : "33DB14A7-3DFE-46A4-8BC2-E42439CCD076",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPhone 8",�[39m
�[90m        "udid" : "4CDD631E-C886-41E9-85EE-799AD12A6EBF",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPhone 8 Plus",�[39m
�[90m        "udid" : "3C45738B-8387-4C55-8E4A-79A829042041",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPhone SE 12.1",�[39m
�[90m        "udid" : "D753F80F-F5D7-4AD9-BE05-F4B2B0341DFC",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPhone X 12.1",�[39m
�[90m        "udid" : "95CF15F4-6AD7-4987-98B6-61532F22650F",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPhone XS",�[39m
�[90m        "udid" : "BA7B5B9C-C408-4E5F-A658-56D4447540EB",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPhone XS Max",�[39m
�[90m        "udid" : "28CC8BC4-4448-46BE-88F7-81110D8BB99C",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPhone XR",�[39m
�[90m        "udid" : "B2D4D4D8-1B4E-4B6E-A4AB-29210ADB73DC",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPad Air",�[39m
�[90m        "udid" : "0EDFD1D5-F6A6-4D16-8C1C-CEA9EF66AB3B",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPad Air 2",�[39m
�[90m        "udid" : "7D9C85A1-5BAF-4D22-A6FE-B8AEE3CEE92A",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPad (5th generation)",�[39m
�[90m        "udid" : "8702E4F6-C3AC-4109-978F-C194996C679A",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPad Pro (9.7-inch)",�[39m
�[90m        "udid" : "4AADE59C-E75C-41A1-8398-4A9EF7BCD8C3",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPad Pro (12.9-inch)",�[39m
�[90m        "udid" : "A5C1F941-44FF-47C8-BBF9-19A5BA827065",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPad Pro (12.9-inch) (2nd generation)",�[39m
�[90m        "udid" : "C6502FDF-3DB1-46F2-98BD-21A5B9664344",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPad Pro (10.5-inch)",�[39m
�[90m        "udid" : "DDE19EEB-7FE5-4BDB-8720-F9BEAD12A689",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPad (6th generation)",�[39m
�[90m        "udid" : "08022888-5EE8-431B-AA21-2F0AA6E24537",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPad Pro (11-inch)",�[39m
�[90m        "udid" : "5D29225D-ABBC-4326-B956-C12A03D8402A",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      },�[39m
�[90m      {�[39m
�[90m        "availability" : "(unavailable, runtime profile not found)",�[39m
�[90m        "state" : "Shutdown",�[39m
�[90m        "isAvailable" : false,�[39m
�[90m        "name" : "iPad Pro (12.9-inch) (3rd generation)",�[39m
�[90m        "udid" : "FE4B5ED2-4887-48BC-8343-E0788F8A2425",�[39m
�[90m        "availabilityError" : "runtime profile not found"�[39m
�[90m      }�[39m
�[90m    ]�[39m
�[90m  },�[39m
�[90m  "pairs" : {�[39m
�[90m    "3DE6DC71-1367-4F17-8B16-AEA896992C09" : {�[39m
�[90m      "watch" : {�[39m
�[90m        "name" : "Apple Watch Series 4 - 40mm",�[39m
�[90m        "udid" : "32E5C17F-9257-42FE-B892-BBFA6510BFD8",�[39m
�[90m        "state" : "Shutdown"�[39m
�[90m      },�[39m
�[90m      "phone" : {�[39m
�[90m        "name" : "iPhone Xs",�[39m
�[90m        "udid" : "0B97A34B-F1AE-47F9-B0F7-DEF73C597EAE",�[39m
�[90m        "state" : "Shutdown"�[39m
�[90m      },�[39m
�[90m      "state" : "(active, disconnected)"�[39m
�[90m    },�[39m
�[90m    "7F00F91D-12D4-4064-9003-0475940550B0" : {�[39m
�[90m      "watch" : {�[39m
�[90m        "name" : "Apple Watch Series 4 - 44mm",�[39m
�[90m        "udid" : "225C7931-2B00-470B-9E6F-3E2532B1E6C9",�[39m
�[90m        "state" : "Shutdown"�[39m
�[90m      },�[39m
�[90m      "phone" : {�[39m
�[90m        "name" : "iPhone XS Max",�[39m
�[90m        "udid" : "28CC8BC4-4448-46BE-88F7-81110D8BB99C",�[39m
�[90m        "state" : "Shutdown"�[39m
�[90m      },�[39m
�[90m      "state" : "(unavailable)"�[39m
�[90m    },�[39m
�[90m    "6EFC3028-F9EF-414D-A49F-8A58AAF76472" : {�[39m
�[90m      "watch" : {�[39m
�[90m        "name" : "Apple Watch Series 4 - 44mm",�[39m
�[90m        "udid" : "AAA17686-FA33-4910-9BA2-B3F71CD6121F",�[39m
�[90m        "state" : "Shutdown"�[39m
�[90m      },�[39m
�[90m      "phone" : {�[39m
�[90m        "name" : "iPhone Xs Max",�[39m
�[90m        "udid" : "0F3DD94B-34F9-413B-A24A-134DAB7D6971",�[39m
�[90m        "state" : "Shutdown"�[39m
�[90m      },�[39m
�[90m      "state" : "(active, disconnected)"�[39m
�[90m    },�[39m
�[90m    "A18246D2-5E90-4839-9DF1-36695FBF339E" : {�[39m
�[90m      "watch" : {�[39m
�[90m        "name" : "Apple Watch Series 4 - 40mm",�[39m
�[90m        "udid" : "29FA4F32-A8E1-4013-BB43-36A450A9D818",�[39m
�[90m        "state" : "Shutdown"�[39m
�[90m      },�[39m
�[90m      "phone" : {�[39m
�[90m        "name" : "iPhone XS",�[39m
�[90m        "udid" : "BA7B5B9C-C408-4E5F-A658-56D4447540EB",�[39m
�[90m        "state" : "Shutdown"�[39m
�[90m      },�[39m
�[90m      "state" : "(unavailable)"�[39m
�[90m    }�[39m
�[90m  }�[39m
�[90m}�[39m
�[90m�[39m
detox[39314] DEBUG: [exec.js/EXEC_CMD, #1] �[36mapplesimutils --list --byType "iPhone X" --byOS "12.2"�[39m
detox[39314] DEBUG: [exec.js/EXEC_TRY, #1] �[36mSearching for device matching iPhone X...�[39m
detox[39314] TRACE: [exec.js/EXEC_SUCCESS, #1] �[90m[�[39m
�[90m  {�[39m
�[90m    "availabilityError" : "",�[39m
�[90m    "os" : {�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/Runtimes\/iOS.simruntime",�[39m
�[90m      "availabilityError" : "",�[39m
�[90m      "buildversion" : "16E226",�[39m
�[90m      "availability" : "(available)",�[39m
�[90m      "isAvailable" : true,�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimRuntime.iOS-12-2",�[39m
�[90m      "version" : "12.2",�[39m
�[90m      "name" : "iOS 12.2"�[39m
�[90m    },�[39m
�[90m    "availability" : "(available)",�[39m
�[90m    "deviceType" : {�[39m
�[90m      "name" : "iPhone X",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone X.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-X"�[39m
�[90m    },�[39m
�[90m    "udid" : "DC8FA5C9-9679-4E67-AFCE-94A48415A0FD",�[39m
�[90m    "isAvailable" : true,�[39m
�[90m    "state" : "Booted",�[39m
�[90m    "name" : "iPhone X"�[39m
�[90m  }�[39m
�[90m]�[39m
�[90m�[39m
detox[39314] DEBUG: [exec.js/EXEC_CMD, #2] �[36mapplesimutils --list --byId "DC8FA5C9-9679-4E67-AFCE-94A48415A0FD"�[39m
detox[39314] TRACE: [exec.js/EXEC_SUCCESS, #2] �[90m[�[39m
�[90m  {�[39m
�[90m    "availabilityError" : "",�[39m
�[90m    "os" : {�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/Runtimes\/iOS.simruntime",�[39m
�[90m      "availabilityError" : "",�[39m
�[90m      "buildversion" : "16E226",�[39m
�[90m      "availability" : "(available)",�[39m
�[90m      "isAvailable" : true,�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimRuntime.iOS-12-2",�[39m
�[90m      "version" : "12.2",�[39m
�[90m      "name" : "iOS 12.2"�[39m
�[90m    },�[39m
�[90m    "availability" : "(available)",�[39m
�[90m    "deviceType" : {�[39m
�[90m      "name" : "iPhone X",�[39m
�[90m      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone X.simdevicetype",�[39m
�[90m      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-X"�[39m
�[90m    },�[39m
�[90m    "udid" : "DC8FA5C9-9679-4E67-AFCE-94A48415A0FD",�[39m
�[90m    "isAvailable" : true,�[39m
�[90m    "state" : "Booted",�[39m
�[90m    "name" : "iPhone X"�[39m
�[90m  }�[39m
�[90m]�[39m
�[90m�[39m
detox[39314] TRACE: [ArtifactsManager.js/LIFECYCLE] �[90martifactsManager.onBootDevice({ coldBoot: false,�[39m
�[90m  deviceId: 'DC8FA5C9-9679-4E67-AFCE-94A48415A0FD' })�[39m
detox[39314] TRACE: [ArtifactsManager.js/LIFECYCLE] �[90martifactsManager.onBeforeUninstallApp({ deviceId: 'DC8FA5C9-9679-4E67-AFCE-94A48415A0FD',�[39m
�[90m  bundleId: 'com.wix.demo.react.native' })�[39m
detox[39314] DEBUG: [exec.js/EXEC_CMD, #3] �[36m/usr/bin/xcrun simctl uninstall DC8FA5C9-9679-4E67-AFCE-94A48415A0FD com.wix.demo.react.native�[39m
detox[39314] DEBUG: [exec.js/EXEC_TRY, #3] �[36mUninstalling com.wix.demo.react.native...�[39m
detox[39314] TRACE: [exec.js/EXEC_SUCCESS, #3] 
detox[39314] DEBUG: [exec.js/EXEC_SUCCESS, #3] �[36mcom.wix.demo.react.native uninstalled�[39m
detox[39314] DEBUG: [exec.js/EXEC_CMD, #4] �[36m/usr/bin/xcrun simctl install DC8FA5C9-9679-4E67-AFCE-94A48415A0FD "/Users/joaobertacchi/Documents/repos/test/Detox/examples/demo-react-native/ios/build/Build/Products/Debug-iphonesimulator/example.app"�[39m
detox[39314] DEBUG: [exec.js/EXEC_TRY, #4] �[36mInstalling /Users/joaobertacchi/Documents/repos/test/Detox/examples/demo-react-native/ios/build/Build/Products/Debug-iphonesimulator/example.app...�[39m
detox[39314] TRACE: [exec.js/EXEC_SUCCESS, #4] 
detox[39314] DEBUG: [exec.js/EXEC_SUCCESS, #4] �[36m/Users/joaobertacchi/Documents/repos/test/Detox/examples/demo-react-native/ios/build/Build/Products/Debug-iphonesimulator/example.app installed�[39m
detox[39314] TRACE: [ArtifactsManager.js/LIFECYCLE] �[90martifactsManager.onBeforeTerminateApp({ deviceId: 'DC8FA5C9-9679-4E67-AFCE-94A48415A0FD',�[39m
�[90m  bundleId: 'com.wix.demo.react.native' })�[39m
detox[39314] DEBUG: [exec.js/EXEC_CMD, #5] �[36m/usr/bin/xcrun simctl terminate DC8FA5C9-9679-4E67-AFCE-94A48415A0FD com.wix.demo.react.native�[39m
detox[39314] DEBUG: [exec.js/EXEC_TRY, #5] �[36mTerminating com.wix.demo.react.native...�[39m
detox[39314] TRACE: [exec.js/EXEC_SUCCESS, #5] 
detox[39314] DEBUG: [exec.js/EXEC_SUCCESS, #5] �[36mcom.wix.demo.react.native terminated�[39m
detox[39314] TRACE: [ArtifactsManager.js/LIFECYCLE] �[90martifactsManager.onBeforeLaunchApp({ bundleId: 'com.wix.demo.react.native',�[39m
�[90m  deviceId: 'DC8FA5C9-9679-4E67-AFCE-94A48415A0FD',�[39m
�[90m  launchArgs:�[39m
�[90m   { detoxServer: 'ws://localhost:62436',�[39m
�[90m     detoxSessionId: '8f5f5992-2601-bc00-d073-0ac20b29fada' } })�[39m
detox[39314] DEBUG: [exec.js/EXEC_CMD, #6] �[36mSIMCTL_CHILD_DYLD_INSERT_LIBRARIES="/Users/joaobertacchi/Library/Detox/ios/d77b206c357df311fadf7da8273e4bce8157091f/Detox.framework/Detox" /usr/bin/xcrun simctl launch DC8FA5C9-9679-4E67-AFCE-94A48415A0FD com.wix.demo.react.native --args -detoxServer "ws://localhost:62436" -detoxSessionId "8f5f5992-2601-bc00-d073-0ac20b29fada"�[39m
detox[39314] DEBUG: [exec.js/EXEC_TRY, #6] �[36mLaunching com.wix.demo.react.native...�[39m
detox[39314] TRACE: [exec.js/EXEC_SUCCESS, #6] �[90mcom.wix.demo.react.native: 39345�[39m
�[90m�[39m
detox[39314] DEBUG: [exec.js/EXEC_CMD, #7] �[36m/usr/bin/xcrun simctl get_app_container DC8FA5C9-9679-4E67-AFCE-94A48415A0FD com.wix.demo.react.native�[39m
detox[39314] TRACE: [exec.js/EXEC_SUCCESS, #7] �[90m/Users/joaobertacchi/Library/Developer/CoreSimulator/Devices/DC8FA5C9-9679-4E67-AFCE-94A48415A0FD/data/Containers/Bundle/Application/BB853784-36C9-4A45-8E5F-A52F0EDFC9B1/example.app�[39m
�[90m�[39m
detox[39314] INFO:  [AppleSimUtils.js] �[32mcom.wix.demo.react.native launched. To watch simulator logs, run:�[39m
�[32m        /usr/bin/xcrun simctl spawn DC8FA5C9-9679-4E67-AFCE-94A48415A0FD log stream --level debug --style compact --predicate 'processImagePath beginsWith "/Users/joaobertacchi/Library/Developer/CoreSimulator/Devices/DC8FA5C9-9679-4E67-AFCE-94A48415A0FD/data/Containers/Bundle/Application/BB853784-36C9-4A45-8E5F-A52F0EDFC9B1/example.app"'�[39m
detox[39345] TRACE: [ArtifactsManager.js/LIFECYCLE] �[90martifactsManager.onLaunchApp({ bundleId: 'com.wix.demo.react.native',�[39m
�[90m  deviceId: 'DC8FA5C9-9679-4E67-AFCE-94A48415A0FD',�[39m
�[90m  launchArgs:�[39m
�[90m   { detoxServer: 'ws://localhost:62436',�[39m
�[90m     detoxSessionId: '8f5f5992-2601-bc00-d073-0ac20b29fada' },�[39m
�[90m  pid: 39345 })�[39m
detox[39314] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] �[90m{"type":"isReady","params":{},"messageId":-1000}�[39m
detox[39314] TRACE: [DetoxServer.js/MESSAGE] �[90mrole=tester action=isReady (sessionId=8f5f5992-2601-bc00-d073-0ac20b29fada)�[39m
detox[39314] DEBUG: [DetoxServer.js/CANNOT_FORWARD] �[36mrole=testee not connected, cannot fw action (sessionId=8f5f5992-2601-bc00-d073-0ac20b29fada)�[39m
detox[39314] DEBUG: [DetoxServer.js/LOGIN] �[36mrole=testee, sessionId=8f5f5992-2601-bc00-d073-0ac20b29fada�[39m
detox[39314] DEBUG: [DetoxServer.js/LOGIN_SUCCESS] �[36mrole=testee, sessionId=8f5f5992-2601-bc00-d073-0ac20b29fada�[39m
detox[39314] TRACE: [DetoxServer.js/MESSAGE] �[90mrole=testee action=ready (sessionId=8f5f5992-2601-bc00-d073-0ac20b29fada)�[39m
detox[39314] TRACE: [AsyncWebSocket.js/WEBSOCKET_MESSAGE] �[90m{"type":"ready","messageId":-1000,"params":{}}�[39m
�[90m �[39m
detox[39314] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] �[90m{"type":"waitForActive","params":{},"messageId":1}�[39m
detox[39314] TRACE: [DetoxServer.js/MESSAGE] �[90mrole=tester action=waitForActive (sessionId=8f5f5992-2601-bc00-d073-0ac20b29fada)�[39m
detox[39314] TRACE: [DetoxServer.js/MESSAGE] �[90mrole=testee action=waitForActiveDone (sessionId=8f5f5992-2601-bc00-d073-0ac20b29fada)�[39m
detox[39314] TRACE: [AsyncWebSocket.js/WEBSOCKET_MESSAGE] �[90m{"type":"waitForActiveDone","messageId":1,"params":{}}�[39m
�[90m �[39m
detox[39314] TRACE: [ArtifactsManager.js/LIFECYCLE] �[90martifactsManager.onBeforeAll()�[39m
  Example
detox[39314] TRACE: [Detox.js/DETOX_BEFORE_EACH] �[90mrunning test: "Example should have welcome screen"�[39m
detox[39314] TRACE: [ArtifactsManager.js/LIFECYCLE] �[90martifactsManager.onBeforeEach({ title: 'should have welcome screen',�[39m
�[90m  fullName: 'Example should have welcome screen',�[39m
�[90m  status: 'running' })�[39m
detox[39314] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] �[90m{"type":"reactNativeReload","params":{},"messageId":-1000}�[39m
detox[39314] TRACE: [DetoxServer.js/MESSAGE] �[90mrole=tester action=reactNativeReload (sessionId=8f5f5992-2601-bc00-d073-0ac20b29fada)�[39m
detox[39314] TRACE: [DetoxServer.js/MESSAGE] �[90mrole=testee action=AppWillTerminateWithError (sessionId=8f5f5992-2601-bc00-d073-0ac20b29fada)�[39m
detox[39314] TRACE: [DetoxServer.js/MESSAGE] �[90mrole=testee action=AppWillTerminateWithError (sessionId=8f5f5992-2601-bc00-d073-0ac20b29fada)�[39m
detox[39314] TRACE: [AsyncWebSocket.js/WEBSOCKET_MESSAGE] �[90m{"type":"AppWillTerminateWithError","messageId":-10000,"params":{"threadNumber":1,"errorDetails":"[<RCTCxxBridge 0x7faed7c03880> valueForUndefinedKey:]: this class is not key value coding-compliant for the key viewRegistry.\n(\n\t0   CoreFoundation                      0x000000010fe3e6fb __exceptionPreprocess + 331\n\t1   libobjc.A.dylib                     0x000000010e5a5ac5 objc_exception_throw + 48\n\t2   CoreFoundation                      0x000000010fe3e269 -[NSException raise] + 9\n\t3   Foundation                          0x000000010e01b45a -[NSObject(NSKeyValueCoding) valueForUndefinedKey:] + 226\n\t4   Foundation                          0x000000010e01a29f -[NSObject(NSKeyValueCoding) valueForKey:] + 281\n\t5   DTXProfiler                         0x0000000127b09df1 ____dtxinst_RCTBridge_setUp_block_invoke + 176\n\t6   libdispatch.dylib                   0x000000011236ad02 _dispatch_client_callout + 8\n\t7   libdispatch.dylib                   0x00000001123775fd _dispatch_lane_barrier_sync_invoke_and_complete + 94\n\t8   EarlGrey                            0x0000000122056a3e grey_dispatch_sync + 238\n\t9   DTXProfiler                         0x0000000127b09a11 __dtxinst_RCTBridge_setUp + 119\n\t10  example                             0x000000010c55392e __19-[RCTBridge reload]_block_invoke + 94\n\t11  EarlGrey                            0x0000000122057fa2 __60-[GREYDispatchQueueTracker grey_dispatchAsyncCallWithBlock:]_block_invoke + 50\n\t12  libdispatch.dylib                   0x0000000112369ccf _dispatch_call_block_and_release + 12\n\t13  libdispatch.dylib                   0x000000011236ad02 _dispatch_client_callout + 8\n\t14  libdispatch.dylib                   0x0000000112376a50 _dispatch_main_queue_callback_4CF + 1276\n\t15  CoreFoundation                      0x000000010fda58a9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9\n\t16  CoreFoundation                      0x000000010fd9ff56 __CFRunLoopRun + 2310\n\t17  CoreFoundation                      0x000000010fd9f302 CFRunLoopRunSpecific + 626\n\t18  EarlGrey                            0x00000001220798fd -[GREYRunLoopSpinner grey_checkConditionInActiveMode:] + 381\n\t19  EarlGrey                            0x0000000122078582 -[GREYRunLoopSpinner spinWithStopConditionBlock:] + 466\n\t20  EarlGrey                            0x00000001220cda7c -[GREYUIThreadExecutor executeSyncWithTimeout:block:error:] + 1500\n\t21  EarlGrey                            0x00000001220cd455 -[GREYUIThreadExecutor executeSync:error:] + 309\n\t22  Detox                               0x000000010d09a6e5 __45-[EarlGreyImpl(Detox) detox_safeExecuteSync:]_block_invoke + 137\n\t23  CoreFoundation                      0x000000010fda5aec __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12\n\t24  CoreFoundation                      0x000000010fda52b0 __CFRunLoopDoBlocks + 336\n\t25  CoreFoundation                      0x000000010fda010b __CFRunLoopRun + 2747\n\t26  CoreFoundation                      0x000000010fd9f302 CFRunLoopRunSpecific + 626\n\t27  GraphicsServices                    0x00000001154cd2fe GSEventRunModal + 65\n\t28  DTXProfiler                         0x0000000127b1cba1 __dtxinst_UIApplication_run + 176\n\t29  Detox                               0x000000010d09dd34 __detox_UIApplication_run + 365\n\t30  UIKitCore                           0x000000011a6c4ba2 UIApplicationMain + 140\n\t31  example                             0x000000010c44d360 main + 112\n\t32  libdyld.dylib                       0x00000001123d8541 start + 1\n\t33  ???                                 0x0000000000000006 0x0 + 6\n)","queueName":"com.wix.activeProfilersQueue"}}�[39m
�[90m �[39m
detox[39314] TRACE: [AsyncWebSocket.js/WEBSOCKET_MESSAGE] �[90m{"type":"AppWillTerminateWithError","messageId":-10000,"params":{"threadNumber":1,"errorDetails":"Signal 4 was raised\n(\n\t0   Detox                               0x000000010d0a7b56 _ZL16__DTXHandleCrashP11NSExceptionP8NSNumberP8NSString + 497\n\t1   Detox                               0x000000010d0a78db _ZL17__DTXHandleSignali + 61\n\t2   libsystem_platform.dylib            0x000000011273cb5d _sigtramp + 29\n\t3   ???                                 0x3e91082200000001 0x0 + 4508393644096487425\n\t4   Detox                               0x000000010d0a6606 -[DetoxManager notifyOnCrashWithDetails:] + 293\n\t5   Detox                               0x000000010d0a7c1b _ZL16__DTXHandleCrashP11NSExceptionP8NSNumberP8NSString + 694\n\t6   Detox                               0x000000010d0a7686 _ZL15__dtx_terminatev + 117\n\t7   libc++abi.dylib                     0x0000000112260a2e _ZSt11__terminatePFvvE + 8\n\t8   libc++abi.dylib                     0x0000000112260aa3 _ZSt9terminatev + 51\n\t9   libdispatch.dylib                   0x000000011236ad16 _dispatch_client_callout + 28\n\t10  libdispatch.dylib                   0x00000001123775fd _dispatch_lane_barrier_sync_invoke_and_complete + 94\n\t11  EarlGrey                            0x0000000122056a3e grey_dispatch_sync + 238\n\t12  DTXProfiler                         0x0000000127b09a11 __dtxinst_RCTBridge_setUp + 119\n\t13  example                             0x000000010c55392e __19-[RCTBridge reload]_block_invoke + 94\n\t14  EarlGrey                            0x0000000122057fa2 __60-[GREYDispatchQueueTracker grey_dispatchAsyncCallWithBlock:]_block_invoke + 50\n\t15  libdispatch.dylib                   0x0000000112369ccf _dispatch_call_block_and_release + 12\n\t16  libdispatch.dylib                   0x000000011236ad02 _dispatch_client_callout + 8\n\t17  libdispatch.dylib                   0x0000000112376a50 _dispatch_main_queue_callback_4CF + 1276\n\t18  CoreFoundation                      0x000000010fda58a9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9\n\t19  CoreFoundation                      0x000000010fd9ff56 __CFRunLoopRun + 2310\n\t20  CoreFoundation                      0x000000010fd9f302 CFRunLoopRunSpecific + 626\n\t21  EarlGrey                            0x00000001220798fd -[GREYRunLoopSpinner grey_checkConditionInActiveMode:] + 381\n\t22  EarlGrey                            0x0000000122078582 -[GREYRunLoopSpinner spinWithStopConditionBlock:] + 466\n\t23  EarlGrey                            0x00000001220cda7c -[GREYUIThreadExecutor executeSyncWithTimeout:block:error:] + 1500\n\t24  EarlGrey                            0x00000001220cd455 -[GREYUIThreadExecutor executeSync:error:] + 309\n\t25  Detox                               0x000000010d09a6e5 __45-[EarlGreyImpl(Detox) detox_safeExecuteSync:]_block_invoke + 137\n\t26  CoreFoundation                      0x000000010fda5aec __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12\n\t27  CoreFoundation                      0x000000010fda52b0 __CFRunLoopDoBlocks + 336\n\t28  CoreFoundation                      0x000000010fda010b __CFRunLoopRun + 2747\n\t29  CoreFoundation                      0x000000010fd9f302 CFRunLoopRunSpecific + 626\n\t30  GraphicsServices                    0x00000001154cd2fe GSEventRunModal + 65\n\t31  DTXProfiler                         0x0000000127b1cba1 __dtxinst_UIApplication_run + 176\n\t32  Detox                               0x000000010d09dd34 __detox_UIApplication_run + 365\n\t33  UIKitCore                           0x000000011a6c4ba2 UIApplicationMain + 140\n\t34  example                             0x000000010c44d360 main + 112\n\t35  libdyld.dylib                       0x00000001123d8541 start + 1\n\t36  ???                                 0x0000000000000006 0x0 + 6\n)","queueName":"com.wix.activeProfilersQueue"}}�[39m
�[90m �[39m
    1) "before each" hook for "should have welcome screen"
detox[39314] TRACE: [Detox.js/DETOX_AFTER_EACH] �[90mfailed test: "Example should have welcome screen"�[39m
detox[39314] TRACE: [ArtifactsManager.js/LIFECYCLE] �[90martifactsManager.onAfterEach({ title: 'should have welcome screen',�[39m
�[90m  fullName: 'Example should have welcome screen',�[39m
�[90m  status: 'failed',�[39m
�[90m  timedOut: false })�[39m
detox[39314] ERROR: [Detox.js/APP_CRASH] �[31mApp crashed in test 'Example should have welcome screen', here's the native stack trace: �[39m
�[31mSignal 4 was raised�[39m
�[31m(�[39m
�[31m	0   Detox                               0x000000010d0a7b56 _ZL16__DTXHandleCrashP11NSExceptionP8NSNumberP8NSString + 497�[39m
�[31m	1   Detox                               0x000000010d0a78db _ZL17__DTXHandleSignali + 61�[39m
�[31m	2   libsystem_platform.dylib            0x000000011273cb5d _sigtramp + 29�[39m
�[31m	3   ???                                 0x3e91082200000001 0x0 + 4508393644096487425�[39m
�[31m	4   Detox                               0x000000010d0a6606 -[DetoxManager notifyOnCrashWithDetails:] + 293�[39m
�[31m	5   Detox                               0x000000010d0a7c1b _ZL16__DTXHandleCrashP11NSExceptionP8NSNumberP8NSString + 694�[39m
�[31m	6   Detox                               0x000000010d0a7686 _ZL15__dtx_terminatev + 117�[39m
�[31m	7   libc++abi.dylib                     0x0000000112260a2e _ZSt11__terminatePFvvE + 8�[39m
�[31m	8   libc++abi.dylib                     0x0000000112260aa3 _ZSt9terminatev + 51�[39m
�[31m	9   libdispatch.dylib                   0x000000011236ad16 _dispatch_client_callout + 28�[39m
�[31m	10  libdispatch.dylib                   0x00000001123775fd _dispatch_lane_barrier_sync_invoke_and_complete + 94�[39m
�[31m	11  EarlGrey                            0x0000000122056a3e grey_dispatch_sync + 238�[39m
�[31m	12  DTXProfiler                         0x0000000127b09a11 __dtxinst_RCTBridge_setUp + 119�[39m
�[31m	13  example                             0x000000010c55392e __19-[RCTBridge reload]_block_invoke + 94�[39m
�[31m	14  EarlGrey                            0x0000000122057fa2 __60-[GREYDispatchQueueTracker grey_dispatchAsyncCallWithBlock:]_block_invoke + 50�[39m
�[31m	15  libdispatch.dylib                   0x0000000112369ccf _dispatch_call_block_and_release + 12�[39m
�[31m	16  libdispatch.dylib                   0x000000011236ad02 _dispatch_client_callout + 8�[39m
�[31m	17  libdispatch.dylib                   0x0000000112376a50 _dispatch_main_queue_callback_4CF + 1276�[39m
�[31m	18  CoreFoundation                      0x000000010fda58a9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9�[39m
�[31m	19  CoreFoundation                      0x000000010fd9ff56 __CFRunLoopRun + 2310�[39m
�[31m	20  CoreFoundation                      0x000000010fd9f302 CFRunLoopRunSpecific + 626�[39m
�[31m	21  EarlGrey                            0x00000001220798fd -[GREYRunLoopSpinner grey_checkConditionInActiveMode:] + 381�[39m
�[31m	22  EarlGrey                            0x0000000122078582 -[GREYRunLoopSpinner spinWithStopConditionBlock:] + 466�[39m
�[31m	23  EarlGrey                            0x00000001220cda7c -[GREYUIThreadExecutor executeSyncWithTimeout:block:error:] + 1500�[39m
�[31m	24  EarlGrey                            0x00000001220cd455 -[GREYUIThreadExecutor executeSync:error:] + 309�[39m
�[31m	25  Detox                               0x000000010d09a6e5 __45-[EarlGreyImpl(Detox) detox_safeExecuteSync:]_block_invoke + 137�[39m
�[31m	26  CoreFoundation                      0x000000010fda5aec __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12�[39m
�[31m	27  CoreFoundation                      0x000000010fda52b0 __CFRunLoopDoBlocks + 336�[39m
�[31m	28  CoreFoundation                      0x000000010fda010b __CFRunLoopRun + 2747�[39m
�[31m	29  CoreFoundation                      0x000000010fd9f302 CFRunLoopRunSpecific + 626�[39m
�[31m	30  GraphicsServices                    0x00000001154cd2fe GSEventRunModal + 65�[39m
�[31m	31  DTXProfiler                         0x0000000127b1cba1 __dtxinst_UIApplication_run + 176�[39m
�[31m	32  Detox                               0x000000010d09dd34 __detox_UIApplication_run + 365�[39m
�[31m	33  UIKitCore                           0x000000011a6c4ba2 UIApplicationMain + 140�[39m
�[31m	34  example                             0x000000010c44d360 main + 112�[39m
�[31m	35  libdyld.dylib                       0x00000001123d8541 start + 1�[39m
�[31m	36  ???                                 0x0000000000000006 0x0 + 6�[39m
�[31m)�[39m
detox[39314] TRACE: [ArtifactsManager.js/LIFECYCLE] �[90martifactsManager.onBeforeTerminateApp({ deviceId: 'DC8FA5C9-9679-4E67-AFCE-94A48415A0FD',�[39m
�[90m  bundleId: 'com.wix.demo.react.native' })�[39m
detox[39314] DEBUG: [exec.js/EXEC_CMD, #8] �[36m/usr/bin/xcrun simctl terminate DC8FA5C9-9679-4E67-AFCE-94A48415A0FD com.wix.demo.react.native�[39m
detox[39314] DEBUG: [exec.js/EXEC_TRY, #8] �[36mTerminating com.wix.demo.react.native...�[39m
detox[39314] TRACE: [exec.js/EXEC_SUCCESS, #8] 
detox[39314] DEBUG: [exec.js/EXEC_SUCCESS, #8] �[36mcom.wix.demo.react.native terminated�[39m
detox[39314] TRACE: [ArtifactsManager.js/LIFECYCLE] �[90martifactsManager.onBeforeLaunchApp({ bundleId: 'com.wix.demo.react.native',�[39m
�[90m  deviceId: 'DC8FA5C9-9679-4E67-AFCE-94A48415A0FD',�[39m
�[90m  launchArgs:�[39m
�[90m   { detoxServer: 'ws://localhost:62436',�[39m
�[90m     detoxSessionId: '8f5f5992-2601-bc00-d073-0ac20b29fada' } })�[39m
detox[39314] DEBUG: [exec.js/EXEC_CMD, #9] �[36mSIMCTL_CHILD_DYLD_INSERT_LIBRARIES="/Users/joaobertacchi/Library/Detox/ios/d77b206c357df311fadf7da8273e4bce8157091f/Detox.framework/Detox" /usr/bin/xcrun simctl launch DC8FA5C9-9679-4E67-AFCE-94A48415A0FD com.wix.demo.react.native --args -detoxServer "ws://localhost:62436" -detoxSessionId "8f5f5992-2601-bc00-d073-0ac20b29fada"�[39m
detox[39314] DEBUG: [exec.js/EXEC_TRY, #9] �[36mLaunching com.wix.demo.react.native...�[39m
detox[39314] DEBUG: [DetoxServer.js/DISCONNECT] �[36mrole=testee, sessionId=8f5f5992-2601-bc00-d073-0ac20b29fada�[39m
detox[39314] TRACE: [AsyncWebSocket.js/WEBSOCKET_MESSAGE] �[90m{"type":"testeeDisconnected","messageId":-49642}�[39m
�[90m �[39m

'CLI/ObjCCLIInfra' did not contain a6c73210f37f2a5d1eabc9efb79af156b0b6d5b1.

1.error: Server does not allow request for unadvertised object a6c73210f37f2a5d1eabc9efb79af156b0b6d5b1
Fetched in submodule path 'CLI/ObjCCLIInfra', but it did not contain a6c73210f37f2a5d1eabc9efb79af156b0b6d5b1. Direct fetching of that commit failed.

2.DetoxInstruments git:(master) ✗ git submodule
+445657e1ecf399a19b1ae998a69ee38d9c86deb4 CLI/ObjCCLIInfra (heads/master)'
this is the same as the latest commit of 'https://github.com/wix/ObjCCLIInfra.git'

Crash when hiding all instruments using picker

Application Specific Information:
Crashing on exception: *** -[__NSArrayM objectAtIndexedSubscript:]: index 9223372036854775807 beyond bounds for empty array

Application Specific Backtrace 1:
0   CoreFoundation                      0x00007fff433e8ecd __exceptionPreprocess + 256
1   libobjc.A.dylib                     0x00007fff6f4b7720 objc_exception_throw + 48
2   CoreFoundation                      0x00007fff434284a0 -[CFPrefsConfigurationFileSource initWithConfigurationPropertyList:containingPreferences:] + 0
3   CoreFoundation                      0x00007fff43378a8f -[__NSArrayM objectAtIndexedSubscript:] + 151
4   Detox Instruments                   0x00000001095a161a -[DTXPlotAreaContentController touchBar:makeItemForIdentifier:] + 396
5   AppKit                              0x00007fff409d31d4 __32-[NSTouchBar itemForIdentifier:]_block_invoke + 34
6   AppKit                              0x00007fff408b38e6 +[NSAppearance _performWithCurrentAppearance:usingBlock:] + 84
7   AppKit                              0x00007fff409d2c64 -[NSTouchBar itemForIdentifier:] + 727
8   AppKit                              0x00007fff4132c977 -[NSTouchBar items] + 312
9   AppKit                              0x00007fff40e2cbce -[NSTouchBarViewController _expandBars:] + 330
10  AppKit                              0x00007fff40e2d327 -[NSTouchBarViewController _updateTree] + 123
11  AppKit                              0x00007fff40978f99 _NSViewLayout + 123
12  AppKit                              0x00007fff40978b14 -[NSView _layoutSubtreeWithOldSize:] + 446
13  AppKit                              0x00007fff40978d8d -[NSView _layoutSubtreeWithOldSize:] + 1079
14  AppKit                              0x00007fff40978d8d -[NSView _layoutSubtreeWithOldSize:] + 1079
15  AppKit                              0x00007fff409765aa -[NSView _layoutSubtreeIfNeededAndAllowTemporaryEngine:] + 1358
16  AppKit                              0x00007fff40975d46 -[NSWindow(NSConstraintBasedLayout) _layoutViewTree] + 148
17  AppKit                              0x00007fff409879fe -[NSWindow(NSConstraintBasedLayout) layoutIfNeeded] + 263
18  AppKit                              0x00007fff4098782f __NSWindowGetDisplayCycleObserverForLayout_block_invoke + 496
19  AppKit                              0x00007fff40986e2a NSDisplayCycleObserverInvoke + 170
20  AppKit                              0x00007fff4098699f NSDisplayCycleFlush + 1073
21  QuartzCore                          0x00007fff4e2f5227 _ZN2CA11Transaction19run_commit_handlersE18CATransactionPhase + 49
22  QuartzCore                          0x00007fff4e2f4bee _ZN2CA11Transaction6commitEv + 186
23  AppKit                              0x00007fff40986305 __65+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayRefresh]_block_invoke + 274
24  CoreFoundation                      0x00007fff4338f9cd __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
25  CoreFoundation                      0x00007fff4338f902 __CFRunLoopDoObservers + 452
26  CoreFoundation                      0x00007fff43331429 __CFRunLoopRun + 1166
27  CoreFoundation                      0x00007fff43330d48 CFRunLoopRunSpecific + 463
28  HIToolbox                           0x00007fff425c7ab5 RunCurrentEventLoopInMode + 293
29  HIToolbox                           0x00007fff425c76f4 ReceiveNextEventCommon + 371
30  HIToolbox                           0x00007fff425c7568 _BlockUntilNextEventMatchingListInModeWithFilter + 64
31  AppKit                              0x00007fff40882363 _DPSNextEvent + 997
32  AppKit                              0x00007fff40881102 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1362
33  AppKit                              0x00007fff4087b165 -[NSApplication run] + 699
34  AppKit                              0x00007fff4086a8a3 NSApplicationMain + 780
35  libdyld.dylib                       0x00007fff70585ed9 start + 1

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.AppKit              	0x00007fff40c8fa9b -[NSApplication _crashOnException:] + 109
1   com.apple.AppKit              	0x00007fff40986544 __65+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayRefresh]_block_invoke + 849
2   com.apple.CoreFoundation      	0x00007fff4338f9cd __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
3   com.apple.CoreFoundation      	0x00007fff4338f902 __CFRunLoopDoObservers + 452
4   com.apple.CoreFoundation      	0x00007fff43331429 __CFRunLoopRun + 1166
5   com.apple.CoreFoundation      	0x00007fff43330d48 CFRunLoopRunSpecific + 463
6   com.apple.HIToolbox           	0x00007fff425c7ab5 RunCurrentEventLoopInMode + 293
7   com.apple.HIToolbox           	0x00007fff425c76f4 ReceiveNextEventCommon + 371
8   com.apple.HIToolbox           	0x00007fff425c7568 _BlockUntilNextEventMatchingListInModeWithFilter + 64
9   com.apple.AppKit              	0x00007fff40882363 _DPSNextEvent + 997
10  com.apple.AppKit              	0x00007fff40881102 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1362
11  com.apple.AppKit              	0x00007fff4087b165 -[NSApplication run] + 699
12  com.apple.AppKit              	0x00007fff4086a8a3 NSApplicationMain + 780
13  libdyld.dylib                 	0x00007fff70585ed9 start + 1

Crash when trying to discover apps for profiling

*** First throw call stack:
(
0 CoreFoundation 0x000000010c2841bb __exceptionPreprocess + 331
1 libobjc.A.dylib 0x000000010b094735 objc_exception_throw + 48
2 CoreFoundation 0x000000010c1d04ec _CFThrowFormattedException + 194
3 CoreFoundation 0x000000010c1ac775 -[__NSArrayM insertObject:atIndex:] + 1269
4 DTXProfiler 0x00000001078bd973 -[DTXSocketConnection _writeDataNow:completionHandler:] + 286
5 libdispatch.dylib 0x0000000112a0f595 _dispatch_call_block_and_release + 12
6 libdispatch.dylib 0x0000000112a10602 _dispatch_client_callout + 8
7 libdispatch.dylib 0x0000000112a17b0b _dispatch_lane_serial_drain + 791
8 libdispatch.dylib 0x0000000112a18784 _dispatch_lane_invoke + 428
9 libdispatch.dylib 0x0000000112a2289a _dispatch_workloop_worker_thread + 733
10 libsystem_pthread.dylib 0x0000000112dff61c _pthread_wqthread + 409
11 libsystem_pthread.dylib 0x0000000112dff415 start_wqthread + 13
)
libc++abi.dylib: terminating with uncaught exception of type NSException

Replace Core Plot scatter plot with internal implementation

This is not urgent, but since #24 was so easy to achieve, this should be investigated too. Much of what is being implemented for #24 will work here too.

Because of Core Plot's use of many many layers, when expanding the threads outline, performance really tanks. This was investigated during WWDC 2018 by Apple engineers and the conclusion was that so many layers overwhelm the system (rdar://40882973). Ergo, replacing the scatter plots with a much more efficient internal implementation will be a bit performance win.

  • Research macOS drawing techniques and performance characteristics (specifically gradients, shapes and masking)
  • Implement a POC which is able to take a large existing dataset and draw it correctly, at significantly better performance
  • Implement selection of samples
  • Support sample & range highlighting
  • Support Touch Bar

Replace Core Plot range plot with internal implementation

When many events are recorded, drawing performance is really bad. I believe an internal implementation can be achieved relatively easily, with much improved performance and focus.

The following are required:

  • Research macOS drawing techniques and performance characteristics
  • Implement a POC which is able to take a large existing dataset and draw it correctly, at significantly better performance
  • Add plot range capabilities, similar to Core Plot, including manipulation (zoom/magnification, scroll)
  • Implement selection of samples
  • Support sample & range highlighting
  • Support Touch Bar

Support React Native .58 and above

React Native .58 and above use JSClassCreate instead of JSObjectMakeFunctionWithCallback. It should be possible to refactor the existing code to support this new way.

The method Profiler Framework calculate the memory seems to be a little more complex than the method Apple Staff suggest.

Hello Leo:

Our discuss before is here:#53.

Now I find something new about the method of calculate the memory.

The method Profiler Framework calculate the memory(and the method from debugserver) seems to be a little more complex than the method Apple Staff suggest。
The method from Apple Staff:https://forums.developer.apple.com/message/357415#357415(Re: how XCode to calculate Memory).It just return vmInfo.phys_footprint.

The definition of phys_footprint:
https://github.com/apple/darwin-xnu/blob/master/osfmk/kern/task.c#L914

You can learn more about the philosophy behind this in WWDC 2018 Session 416 iOS Memory Deep Dive

Bridge Call Counters / Bridge Data Counters not showing up

DETOX INSTRUMENTS VERSION: 0.9.1
REACT NATIVE VERSION: 0.54.4

First off, great tool!

I've recently started using it on an existing React Native project and I cannot seem to get the Bridge Call Counters and Bridge Data Counters portion of the profiler to capture any data. I have ensured that I have the Profile React Native options selected, and all of the other profiling seems to work just fine. Just for good measure I have also made sure to delete my existing Build directory, cleaned the project, and cleaned out the Derived Data folder.

Is this something anyone else has run into? Is there something I'm potentially missing in the setup phase?

screenshot 2018-07-16 12 51 14

Handle network responses in a more readable way

hey,
currently, in order to view the responses in the detox instrument network section, we need to open a file and read (or parse manually) a string.

in chrome devtool, for example, if the response is an object (or a JSON object), it's parsed in the 'preview' tab so it's more readable and easy to use.

Ability to send network requests

Network Activity Instrument provides ability to record network requests. It would be great if there was:

  • ability to send requests;
  • ability to get piece of code to make such request in specific language/library (e.g. NodeJS request);

This would replace the need to use Postman or similar tools as addition to DetoxInstruments.

Data export is broken due to groups removal

Used to be that document was connected to samples through its rootGroup. But now that groups no longer exists, there is no direct connection, thus rendering the export function broken.

Android support

There are no issues about this so I'll be the one to ask the dumb question for future dumb googlers like myself.

No android support? Future android support?

Thanks :D

Crash when JSValueCreateJSONString does not return a valid string

when JS calls a native hook with an undefined argument, this exception occurs in Detox before calling the hook:

2018-12-18 17:01:53.800763+0200 WixOneAppDev[84537:45278301] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'
*** First throw call stack:
(
0 CoreFoundation 0x000000010f5731e6 __exceptionPreprocess + 294
1 libobjc.A.dylib 0x000000010da54031 objc_exception_throw + 48
2 CoreFoundation 0x000000010f5b30bc _CFThrowFormattedException + 194
3 CoreFoundation 0x000000010f4a22a9 -[__NSArrayM insertObject:atIndex:] + 1273
4 DTXProfiler 0x000000010bc244d8 ___dtx_JSObjectMakeFunctionWithCallback_block_invoke + 489
5 CoreFoundation 0x000000010f4f6ccc invoking
+ 140
6 CoreFoundation 0x000000010f4f6b84 -[NSInvocation invoke] + 308
7 JavaScriptCore 0x00000001115fad38

didFinishCollectingMetrics crash

2019-03-25 11:14:40.437328+0200 WixOneAppDev[70051:7189028] -[RCTHTTPRequestHandler URLSession:task:didFinishCollectingMetrics:]: unrecognized selector sent to instance 0x6000000e10e0
2019-03-25 11:14:42.429356+0200 WixOneAppDev[70051:7189028] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[RCTHTTPRequestHandler URLSession:task:didFinishCollectingMetrics:]: unrecognized selector sent to instance 0x6000000e10e0'
*** First throw call stack:
(
0 CoreFoundation 0x000000010ad231bb __exceptionPreprocess + 331
1 libobjc.A.dylib 0x0000000108ce9735 objc_exception_throw + 48
2 CoreFoundation 0x000000010ad41f44 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
3 CoreFoundation 0x000000010ad27c34 forwarding + 772
4 CoreFoundation 0x000000010ad29da8 _CF_forwarding_prep_0 + 120
5 CFNetwork 0x000000010a090c90 __68-[NSURLSession delegate_task:didFinishCollectingMetrics:completion:]_block_invoke + 38
6 Foundation 0x0000000108756f9e NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7
7 Foundation 0x0000000108756ea5 -[NSBlockOperation main] + 68
8 Foundation 0x0000000108753c14 -[__NSOperationInternal _start:] + 689
9 Foundation 0x0000000108759c4b __NSOQSchedule_f + 227
10 libdispatch.dylib 0x0000000110b50595 _dispatch_call_block_and_release + 12
11 libdispatch.dylib 0x0000000110b51602 _dispatch_client_callout + 8
12 libdispatch.dylib 0x0000000110b58b0b _dispatch_lane_serial_drain + 791
13 libdispatch.dylib 0x0000000110b59784 _dispatch_lane_invoke + 428
14 libdispatch.dylib 0x0000000110b6389a _dispatch_workloop_worker_thread + 733
15 libsystem_pthread.dylib 0x0000000110f4160b _pthread_wqthread + 409
16 libsystem_pthread.dylib 0x0000000110f41405 start_wqthread + 13
)

Cmd+1 and Cmd+2 do not make Inspectors appear if they had been previously closed

Describe the bug

Cmd+1 and Cmd+2 do not make Inspectors appear if they had been previously closed.

To Reproduce

Steps to reproduce the behavior:

  1. Make sure one of the inspectors (see bottom-right corner) is active, as on the screenshot.
  2. Click on the "Show or hide the inspectors" button (marked with a black arrow on the screenshot).
  3. Make sure the inspector now is hidden.
  4. Click Cmd+1 or Cmd+2 shortcuts (View -> Inspectors -> Show Extended Detail or another one).
  5. Look at the inspectors - they are still hidden.

Expected behavior

  1. The chosen inspector should appear according to the shortcut (Cmd+1 or Cmd+2)

Screenshots

screen shot 2019-01-21 at 5 26 13 pm

Add JS profiler graph

Maybe we should have a separate graph that displays synchronous operations in JS?

Flags/tags are disabled

After implementing column sorting in the detail pane, each detail table view had to be constrained to a single entity, which killed tags.

Not sure how to display them yet, so will hide the flag button from the document window.

Sync Detox Test and Instruments

How to synchronize detox test with detox instruments?
When I start a detox test, it relaunches my app killing the profile tracking record.

How to avoid it?

No DTXLogging.h file

under the path: DetoxInstruments/Shared/DTXLoggingInfra/ there is no DTXLogging.h file.

Unable to build app after integrating, profiler_build_phase.sh script failure

Description
Having followed the integration steps (added linker flags, added run script), after building, i get the following error.

/Applications/Detox Instruments.app/Contents/SharedSupport/Scripts/profiler_build_phase.sh: line 16: syntax error near unexpected token `('

Running detox instruments version v1.11.b10669

Steps to Reproduce
Steps to reproduce the behavior:

  1. Integrate detox instruments with an app
  2. build the app

Environment*

  • Model: MacBook Pro 2017
  • OS: macOS 10.14.5
  • Xcode: Xcode 10.1

iOS Device (please complete the following information):

  • Model: iPhone XR simulator
  • OS: 12.2
  • Xcode: Xcode 10.1

Additional Context
Add any other context about the problem here.

Add common discoverability pitfalls document

Hey,

First, thanks for Instruments. it's amazing!

A possible enhancement that could have benefited me when I just started using instruments is a help window with common issues and a way to solve them.

What I had in mind is to show a window where the simulators show up, if Instruments does not find your simulator for a few seconds. Something like: "Can't see your app? See possible issues". After pressing it will open a seperate window.

Another option is a typical question mark icon.

Thanks again!

Some network requests are duplicated

In one of my projects all network requests to a server are shown twice. This bug is a bit tricky to reproduce because not all domains are affected.

screenshot 2019-02-14 at 12 35 50

Mac (please complete the following information):

  • Model: MacBook Pro 2018
  • OS: macOS 10.14.0
  • Xcode: 9.4.1

iOS Device (please complete the following information):

  • Model: iOS Simulator
  • OS: iOS 11.4
  • Xcode: 9.4.1

Additional context
wix-one-app-contacts is one of the affected modules, you can use it to replicate the issue.

The method Profiler Framework calculate the memory seems less accurate than the method from debugserver.

The method Profiler Framework calculate the memory (https://github.com/wix/DetoxInstruments/blob/master/Profiler/DTXProfiler/PerformanceProfiling/DTXPerformanceSampler.m#L210)

result == KERN_SUCCESS ? task_vm_info.internal + task_vm_info.compressed : 0;
It doesn't seem that precise。

The memory profile method from debugserver seems more accurate.

anonymous = vm_info.internal + vm_info.compressed - vm_info.purgeable_volatile_pmap;

The value of anonymous is the same as the value of memory usage in Xcode Debug.
(https://github.com/llvm-mirror/lldb/blob/master/tools/debugserver/source/MacOSX/MachVMMemory.cpp#L144)

Further development of Requests Playgrounds

With initial release of Requests Playgrounds out, the following improvements are considered:

  • Create a document format for requests so that they can be saved and shared
  • Support body editing of forms, binary data and multipart form data
  • Present statistic about executed requests such as duration, etc
  • Have an option to execute requests from an attached device, rather than from the user's Mac—this is tricky as the entire "connected but not profiling" experience needs to be refined

Make "Zoom In" (Cmd+Plus) follow mouse cursor as an origin for zooming

Is your feature request related to a problem? Please describe.

As of now, "Zoom In" (Cmd+Plus) always zooms towards the center of the timeline which is not convenient when you work without a trackpad and have no means to resort to the default pinch-to-zoom gesture.

Describe the solution you'd like

An implementation of "Zoom In" command could have used a mouse cursor position on the timeline as an origin for zooming.

Describe alternatives you've considered

Alternatively, using a selected X coordinate (via previous mouse click) as an origin could have also worked out, I guess.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.