simtap 0.0.0-stage → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +186 -2
  3. package/THIRD_PARTY_LICENSES +61 -0
  4. package/bin/simtap.js +4 -0
  5. package/dist/act/diff.js +67 -0
  6. package/dist/act/resolve.js +49 -0
  7. package/dist/act/steps.js +188 -0
  8. package/dist/cli.js +123 -0
  9. package/dist/engine/apps.js +153 -0
  10. package/dist/engine/axe.js +107 -0
  11. package/dist/engine/exec.js +36 -0
  12. package/dist/engine/jobs.js +95 -0
  13. package/dist/engine/logs.js +115 -0
  14. package/dist/engine/simctl.js +191 -0
  15. package/dist/engine/state.js +30 -0
  16. package/dist/engine/xcode.js +253 -0
  17. package/dist/engine/xcresult.js +95 -0
  18. package/dist/errors.js +11 -0
  19. package/dist/look/read.js +50 -0
  20. package/dist/look/snapshot.js +455 -0
  21. package/dist/mcp.js +108 -0
  22. package/dist/registry.js +65 -0
  23. package/dist/tools/app-control.js +127 -0
  24. package/dist/tools/app-logs.js +128 -0
  25. package/dist/tools/app-run.js +94 -0
  26. package/dist/tools/device-use.js +68 -0
  27. package/dist/tools/devices.js +26 -0
  28. package/dist/tools/jobs.js +55 -0
  29. package/dist/tools/launch-app.js +68 -0
  30. package/dist/tools/screen-record.js +79 -0
  31. package/dist/tools/tests-run.js +81 -0
  32. package/dist/tools/types.js +2 -0
  33. package/dist/tools/ui-act.js +435 -0
  34. package/dist/tools/ui-look.js +40 -0
  35. package/package.json +45 -4
  36. package/skill/SKILL.md +23 -0
  37. package/vendor/axe/.version +1 -0
  38. package/vendor/axe/AXe_AXe.bundle/skills/axe/SKILL.md +87 -0
  39. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/FBControlCore +0 -0
  40. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBAccessibilityTraits.h +23 -0
  41. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBArchitecture.h +20 -0
  42. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBArchiveOperations.h +136 -0
  43. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBBinaryDescriptor.h +73 -0
  44. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBControlCore-Swift.h +3232 -0
  45. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBControlCore-SwiftImport.h +28 -0
  46. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBControlCore.h +47 -0
  47. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBControlCoreFrameworkLoader.h +104 -0
  48. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBControlCoreLogger+OSLog.h +30 -0
  49. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBControlCoreLogger.h +107 -0
  50. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBCrashLog.h +20 -0
  51. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBDataBuffer.h +75 -0
  52. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBDataConsumer.h +173 -0
  53. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBFileContainer.h +46 -0
  54. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBFileReader.h +25 -0
  55. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBFourCharCode.h +30 -0
  56. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBFuture+Sync.h +104 -0
  57. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBFuture.h +580 -0
  58. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBFutureContextManager.h +61 -0
  59. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBInstalledApplication.h +30 -0
  60. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBInstrumentsCommands.h +29 -0
  61. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBInstrumentsOperation.h +83 -0
  62. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBObjCExceptionGuard.h +59 -0
  63. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBProcessBuilder.h +272 -0
  64. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBProcessFetcher.h +128 -0
  65. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBProcessIO.h +126 -0
  66. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBProcessStream.h +175 -0
  67. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBProcessTerminationStrategy.h +25 -0
  68. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBScreenshotCommands.h +15 -0
  69. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBSettingsCommands.h +22 -0
  70. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBSocketServer.h +63 -0
  71. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBSubprocess.h +131 -0
  72. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBVideoStream.h +255 -0
  73. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBVideoStreamConfiguration.h +51 -0
  74. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBXCTraceOperation.h +13 -0
  75. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBiOSTarget.h +69 -0
  76. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBiOSTargetConfiguration.h +322 -0
  77. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBiOSTargetConstants.h +48 -0
  78. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBiOSTargetOperation.h +18 -0
  79. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo +0 -0
  80. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo +0 -0
  81. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/arm64-apple-macos.abi.json +51890 -0
  82. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/arm64-apple-macos.private.swiftinterface +1341 -0
  83. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/arm64-apple-macos.swiftdoc +0 -0
  84. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/arm64-apple-macos.swiftinterface +1341 -0
  85. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/arm64-apple-macos.swiftmodule +0 -0
  86. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/x86_64-apple-macos.abi.json +51890 -0
  87. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/x86_64-apple-macos.private.swiftinterface +1341 -0
  88. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/x86_64-apple-macos.swiftdoc +0 -0
  89. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/x86_64-apple-macos.swiftinterface +1341 -0
  90. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/x86_64-apple-macos.swiftmodule +0 -0
  91. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/module.modulemap +10 -0
  92. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Resources/Info.plist +50 -0
  93. package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/_CodeSignature/CodeResources +492 -0
  94. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/FBDeviceControl +0 -0
  95. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAFCConnection.h +135 -0
  96. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAMDServiceConnection.h +239 -0
  97. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAMDefines.h +256 -0
  98. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAMDevice.h +105 -0
  99. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAMDeviceManager.h +59 -0
  100. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAMRestorableDevice.h +72 -0
  101. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAMRestorableDeviceManager.h +32 -0
  102. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDevice.h +89 -0
  103. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDeviceCommands.h +147 -0
  104. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDeviceControl-Swift.h +1500 -0
  105. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDeviceControl.h +24 -0
  106. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDeviceControlFrameworkLoader.h +25 -0
  107. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDeviceDebugSymbolsCommands.h +29 -0
  108. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDeviceManager.h +118 -0
  109. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBInstrumentsClient.h +49 -0
  110. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo +0 -0
  111. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo +0 -0
  112. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.abi.json +16073 -0
  113. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.private.swiftinterface +398 -0
  114. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.swiftdoc +0 -0
  115. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.swiftinterface +398 -0
  116. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.swiftmodule +0 -0
  117. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.abi.json +16073 -0
  118. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.private.swiftinterface +398 -0
  119. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.swiftdoc +0 -0
  120. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.swiftinterface +398 -0
  121. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.swiftmodule +0 -0
  122. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/module.modulemap +10 -0
  123. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Resources/Info.plist +50 -0
  124. package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/_CodeSignature/CodeResources +324 -0
  125. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/FBSimulatorControl +0 -0
  126. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBFramebuffer.h +24 -0
  127. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBPeriodicStatsTimer.h +43 -0
  128. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimDeviceWrapper.h +86 -0
  129. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulator.h +160 -0
  130. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulatorBootConfiguration.h +18 -0
  131. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulatorControl-Swift.h +2270 -0
  132. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulatorControl.h +21 -0
  133. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulatorControlFrameworkLoader.h +45 -0
  134. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulatorVideoStream.h +153 -0
  135. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo +0 -0
  136. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo +0 -0
  137. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/arm64-apple-macos.abi.json +46980 -0
  138. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/arm64-apple-macos.private.swiftinterface +1072 -0
  139. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/arm64-apple-macos.swiftdoc +0 -0
  140. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/arm64-apple-macos.swiftinterface +1072 -0
  141. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/arm64-apple-macos.swiftmodule +0 -0
  142. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/x86_64-apple-macos.abi.json +46980 -0
  143. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/x86_64-apple-macos.private.swiftinterface +1072 -0
  144. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/x86_64-apple-macos.swiftdoc +0 -0
  145. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/x86_64-apple-macos.swiftinterface +1072 -0
  146. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/x86_64-apple-macos.swiftmodule +0 -0
  147. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/module.modulemap +10 -0
  148. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Resources/Info.plist +50 -0
  149. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Resources/README.md +124 -0
  150. package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/_CodeSignature/CodeResources +293 -0
  151. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBActivityRecord.h +33 -0
  152. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBAttachment.h +25 -0
  153. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBCodeCoverageConfiguration.h +15 -0
  154. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBTestBundleConnection.h +37 -0
  155. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBTestConfiguration.h +74 -0
  156. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBTestManagerAPIMediator.h +46 -0
  157. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBTestManagerResultSummary.h +19 -0
  158. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBTestReporterAdapter.h +27 -0
  159. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBXCTestConfiguration.h +30 -0
  160. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/XCTestBootstrap-Swift.h +1570 -0
  161. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/XCTestBootstrap.h +22 -0
  162. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/XCTestBootstrapError.h +25 -0
  163. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo +0 -0
  164. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo +0 -0
  165. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/arm64-apple-macos.abi.json +15972 -0
  166. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/arm64-apple-macos.private.swiftinterface +397 -0
  167. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/arm64-apple-macos.swiftdoc +0 -0
  168. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/arm64-apple-macos.swiftinterface +397 -0
  169. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/arm64-apple-macos.swiftmodule +0 -0
  170. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/x86_64-apple-macos.abi.json +15972 -0
  171. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/x86_64-apple-macos.private.swiftinterface +397 -0
  172. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/x86_64-apple-macos.swiftdoc +0 -0
  173. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/x86_64-apple-macos.swiftinterface +397 -0
  174. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/x86_64-apple-macos.swiftmodule +0 -0
  175. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/module.modulemap +13 -0
  176. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Resources/Info.plist +50 -0
  177. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/XCTestBootstrap +0 -0
  178. package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/_CodeSignature/CodeResources +303 -0
  179. package/vendor/axe/axe +0 -0
@@ -0,0 +1,324 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>files</key>
6
+ <dict>
7
+ <key>Resources/Info.plist</key>
8
+ <data>
9
+ PO4ZhzV1qbkK/GUV41YuzZQfKw0=
10
+ </data>
11
+ </dict>
12
+ <key>files2</key>
13
+ <dict>
14
+ <key>Headers/FBAFCConnection.h</key>
15
+ <dict>
16
+ <key>hash2</key>
17
+ <data>
18
+ u9SgnSzY8/4ZkZKXR5dndykVGahez0e3hutSNLIoSUo=
19
+ </data>
20
+ </dict>
21
+ <key>Headers/FBAMDServiceConnection.h</key>
22
+ <dict>
23
+ <key>hash2</key>
24
+ <data>
25
+ qEddd1x2pQa0HCkeyDuLEqLTur6bhIEhXImaleUoYGA=
26
+ </data>
27
+ </dict>
28
+ <key>Headers/FBAMDefines.h</key>
29
+ <dict>
30
+ <key>hash2</key>
31
+ <data>
32
+ l7QPjFXlKm6+iaDJwmw4s56e0hWlNbuJv8qvxWjNezw=
33
+ </data>
34
+ </dict>
35
+ <key>Headers/FBAMDevice.h</key>
36
+ <dict>
37
+ <key>hash2</key>
38
+ <data>
39
+ R6aCuh6+glaGFWwCeeNI+QLScHywNJ58vM9uiG9V4aI=
40
+ </data>
41
+ </dict>
42
+ <key>Headers/FBAMDeviceManager.h</key>
43
+ <dict>
44
+ <key>hash2</key>
45
+ <data>
46
+ i4gC8Vy/hEKa58DJg7eeX/bsR6ukrmythz4OHwNeAik=
47
+ </data>
48
+ </dict>
49
+ <key>Headers/FBAMRestorableDevice.h</key>
50
+ <dict>
51
+ <key>hash2</key>
52
+ <data>
53
+ 2DYcpX14EbNF9XzDAToUSZIYipvUWccNNqD5LFMDrbs=
54
+ </data>
55
+ </dict>
56
+ <key>Headers/FBAMRestorableDeviceManager.h</key>
57
+ <dict>
58
+ <key>hash2</key>
59
+ <data>
60
+ 3YUQJIRhdr/u0bMPSBSPYQ1hR1WSAlKhCzRvaSRCnBI=
61
+ </data>
62
+ </dict>
63
+ <key>Headers/FBDevice.h</key>
64
+ <dict>
65
+ <key>hash2</key>
66
+ <data>
67
+ iY92oslRWygv+qmRSTKlqHn2jKKppCuKrq58zULmH00=
68
+ </data>
69
+ </dict>
70
+ <key>Headers/FBDeviceCommands.h</key>
71
+ <dict>
72
+ <key>hash2</key>
73
+ <data>
74
+ JJmVEFG4uafbi85D/Rpcx+r4wpEOtJRbL/3goo97l8c=
75
+ </data>
76
+ </dict>
77
+ <key>Headers/FBDeviceControl-Swift.h</key>
78
+ <dict>
79
+ <key>hash2</key>
80
+ <data>
81
+ uOsDjqpDgnVpGOmOUi+1j1f1B7UQldb14lZ9vkLnubY=
82
+ </data>
83
+ </dict>
84
+ <key>Headers/FBDeviceControl.h</key>
85
+ <dict>
86
+ <key>hash2</key>
87
+ <data>
88
+ UL+M64e2XDkIjrQ+W7B7p9y4D5pmdlU1KllOjmz/dw0=
89
+ </data>
90
+ </dict>
91
+ <key>Headers/FBDeviceControlFrameworkLoader.h</key>
92
+ <dict>
93
+ <key>hash2</key>
94
+ <data>
95
+ TuVaKJcMZOe66yBkkyJ98iiugM0T9sVZGrrdWWlWO1E=
96
+ </data>
97
+ </dict>
98
+ <key>Headers/FBDeviceDebugSymbolsCommands.h</key>
99
+ <dict>
100
+ <key>hash2</key>
101
+ <data>
102
+ Ob2VF8vLTHkKbH/ayZrG4Lep+AAKuEMnDrWvbACowS4=
103
+ </data>
104
+ </dict>
105
+ <key>Headers/FBDeviceManager.h</key>
106
+ <dict>
107
+ <key>hash2</key>
108
+ <data>
109
+ PMVoK7mlUANiiFsI8YWb8w96dZ/hlhRBLjtbm/YoKvI=
110
+ </data>
111
+ </dict>
112
+ <key>Headers/FBInstrumentsClient.h</key>
113
+ <dict>
114
+ <key>hash2</key>
115
+ <data>
116
+ v/j51o0lEOpke61vNyyTWked/7YeANknjqK+PD3qGyE=
117
+ </data>
118
+ </dict>
119
+ <key>Modules/FBDeviceControl.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo</key>
120
+ <dict>
121
+ <key>hash2</key>
122
+ <data>
123
+ HGbxg3oX8bgma3RlM73GMCN4chOxkkX4Dtd2EwF5MQw=
124
+ </data>
125
+ </dict>
126
+ <key>Modules/FBDeviceControl.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo</key>
127
+ <dict>
128
+ <key>hash2</key>
129
+ <data>
130
+ a5VSLI1klQlddPRCq82o+MH5TxtIUK2lf9Vg9UUQGzM=
131
+ </data>
132
+ </dict>
133
+ <key>Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.abi.json</key>
134
+ <dict>
135
+ <key>hash2</key>
136
+ <data>
137
+ jjf9XswCYzGCgSWh8zAw4X5lneJw9NEYTAqbI8Fsss0=
138
+ </data>
139
+ </dict>
140
+ <key>Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.private.swiftinterface</key>
141
+ <dict>
142
+ <key>hash2</key>
143
+ <data>
144
+ xJo34XWyqpcNf4H25P/mN2eLC6tXwhZ+rudWboiJ5H4=
145
+ </data>
146
+ </dict>
147
+ <key>Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.swiftdoc</key>
148
+ <dict>
149
+ <key>hash2</key>
150
+ <data>
151
+ ZHuuwoIGWtYfcEaZPvr4+o1T7XE04V6g4Bl4a2fhhWs=
152
+ </data>
153
+ </dict>
154
+ <key>Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.swiftinterface</key>
155
+ <dict>
156
+ <key>hash2</key>
157
+ <data>
158
+ xJo34XWyqpcNf4H25P/mN2eLC6tXwhZ+rudWboiJ5H4=
159
+ </data>
160
+ </dict>
161
+ <key>Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.swiftmodule</key>
162
+ <dict>
163
+ <key>hash2</key>
164
+ <data>
165
+ FQBkvrm/ROBfBVGoGNKXszuwzDV2ItzQ9uFi2LkgifE=
166
+ </data>
167
+ </dict>
168
+ <key>Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.abi.json</key>
169
+ <dict>
170
+ <key>hash2</key>
171
+ <data>
172
+ jjf9XswCYzGCgSWh8zAw4X5lneJw9NEYTAqbI8Fsss0=
173
+ </data>
174
+ </dict>
175
+ <key>Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.private.swiftinterface</key>
176
+ <dict>
177
+ <key>hash2</key>
178
+ <data>
179
+ kqsmURc0Bupc4PzLWwc0qc4mhM9bEePTtHN50ap+K0o=
180
+ </data>
181
+ </dict>
182
+ <key>Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.swiftdoc</key>
183
+ <dict>
184
+ <key>hash2</key>
185
+ <data>
186
+ EEV8t07AiQjTTby+hlxHPfrTRAyKtXLY7CoJNDQOOzY=
187
+ </data>
188
+ </dict>
189
+ <key>Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.swiftinterface</key>
190
+ <dict>
191
+ <key>hash2</key>
192
+ <data>
193
+ kqsmURc0Bupc4PzLWwc0qc4mhM9bEePTtHN50ap+K0o=
194
+ </data>
195
+ </dict>
196
+ <key>Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.swiftmodule</key>
197
+ <dict>
198
+ <key>hash2</key>
199
+ <data>
200
+ CHwD/6GPHPxtgm77zOSTVKHPj1ERH2JbQa2kClr2YzM=
201
+ </data>
202
+ </dict>
203
+ <key>Modules/module.modulemap</key>
204
+ <dict>
205
+ <key>hash2</key>
206
+ <data>
207
+ pdfiJr6SmxkWaZ7oYCtJVZKwQwrAzBe5ceyz4dX1oAg=
208
+ </data>
209
+ </dict>
210
+ <key>Resources/Info.plist</key>
211
+ <dict>
212
+ <key>hash2</key>
213
+ <data>
214
+ 4QKr0+rbEtQHbngmlMXSIwgNfTjN+2RILA385AysISU=
215
+ </data>
216
+ </dict>
217
+ </dict>
218
+ <key>rules</key>
219
+ <dict>
220
+ <key>^Resources/</key>
221
+ <true/>
222
+ <key>^Resources/.*\.lproj/</key>
223
+ <dict>
224
+ <key>optional</key>
225
+ <true/>
226
+ <key>weight</key>
227
+ <real>1000</real>
228
+ </dict>
229
+ <key>^Resources/.*\.lproj/locversion.plist$</key>
230
+ <dict>
231
+ <key>omit</key>
232
+ <true/>
233
+ <key>weight</key>
234
+ <real>1100</real>
235
+ </dict>
236
+ <key>^Resources/Base\.lproj/</key>
237
+ <dict>
238
+ <key>weight</key>
239
+ <real>1010</real>
240
+ </dict>
241
+ <key>^version.plist$</key>
242
+ <true/>
243
+ </dict>
244
+ <key>rules2</key>
245
+ <dict>
246
+ <key>.*\.dSYM($|/)</key>
247
+ <dict>
248
+ <key>weight</key>
249
+ <real>11</real>
250
+ </dict>
251
+ <key>^(.*/)?\.DS_Store$</key>
252
+ <dict>
253
+ <key>omit</key>
254
+ <true/>
255
+ <key>weight</key>
256
+ <real>2000</real>
257
+ </dict>
258
+ <key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
259
+ <dict>
260
+ <key>nested</key>
261
+ <true/>
262
+ <key>weight</key>
263
+ <real>10</real>
264
+ </dict>
265
+ <key>^.*</key>
266
+ <true/>
267
+ <key>^Info\.plist$</key>
268
+ <dict>
269
+ <key>omit</key>
270
+ <true/>
271
+ <key>weight</key>
272
+ <real>20</real>
273
+ </dict>
274
+ <key>^PkgInfo$</key>
275
+ <dict>
276
+ <key>omit</key>
277
+ <true/>
278
+ <key>weight</key>
279
+ <real>20</real>
280
+ </dict>
281
+ <key>^Resources/</key>
282
+ <dict>
283
+ <key>weight</key>
284
+ <real>20</real>
285
+ </dict>
286
+ <key>^Resources/.*\.lproj/</key>
287
+ <dict>
288
+ <key>optional</key>
289
+ <true/>
290
+ <key>weight</key>
291
+ <real>1000</real>
292
+ </dict>
293
+ <key>^Resources/.*\.lproj/locversion.plist$</key>
294
+ <dict>
295
+ <key>omit</key>
296
+ <true/>
297
+ <key>weight</key>
298
+ <real>1100</real>
299
+ </dict>
300
+ <key>^Resources/Base\.lproj/</key>
301
+ <dict>
302
+ <key>weight</key>
303
+ <real>1010</real>
304
+ </dict>
305
+ <key>^[^/]+$</key>
306
+ <dict>
307
+ <key>nested</key>
308
+ <true/>
309
+ <key>weight</key>
310
+ <real>10</real>
311
+ </dict>
312
+ <key>^embedded\.provisionprofile$</key>
313
+ <dict>
314
+ <key>weight</key>
315
+ <real>20</real>
316
+ </dict>
317
+ <key>^version\.plist$</key>
318
+ <dict>
319
+ <key>weight</key>
320
+ <real>20</real>
321
+ </dict>
322
+ </dict>
323
+ </dict>
324
+ </plist>
@@ -0,0 +1,24 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+ #import <FBControlCore/FBControlCore.h>
11
+
12
+ @class IOSurface;
13
+
14
+ /**
15
+ Stats tracked by the framebuffer from the simulator's damage/IOSurface callbacks.
16
+ */
17
+ typedef struct {
18
+ NSUInteger damageCallbackCount;
19
+ NSUInteger damageRectCount;
20
+ NSUInteger emptyDamageCallbackCount;
21
+ NSUInteger ioSurfaceChangeCount;
22
+ } FBFramebufferStats;
23
+
24
+ @protocol FBFramebufferConsumer;
@@ -0,0 +1,43 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ // Private header — not part of the public FBSimulatorControl API.
9
+ // Shared timing logic for periodic stats logging across framebuffer and encoder.
10
+
11
+ #import <CoreFoundation/CoreFoundation.h>
12
+
13
+ typedef struct {
14
+ CFAbsoluteTime startTime;
15
+ CFAbsoluteTime lastLogTime;
16
+ CFTimeInterval interval;
17
+ } FBPeriodicStatsTimer;
18
+
19
+ /// Initialize with a log interval (e.g. 5.0 seconds).
20
+ static inline FBPeriodicStatsTimer FBPeriodicStatsTimerCreate(CFTimeInterval interval)
21
+ {
22
+ return (FBPeriodicStatsTimer) {0, 0, interval};
23
+ }
24
+
25
+ /// Call on each event. Returns YES and populates outIntervalDuration/outTotalElapsed
26
+ /// if enough time has elapsed since the last log. On the very first call, initializes
27
+ /// the timer and returns NO.
28
+ static inline BOOL FBPeriodicStatsTimerTick(FBPeriodicStatsTimer *timer, CFTimeInterval *outIntervalDuration, CFTimeInterval *outTotalElapsed)
29
+ {
30
+ CFAbsoluteTime now = CFAbsoluteTimeGetCurrent();
31
+ if (timer->startTime == 0) {
32
+ timer->startTime = now;
33
+ timer->lastLogTime = now;
34
+ return NO;
35
+ }
36
+ if (now - timer->lastLogTime < timer->interval) {
37
+ return NO;
38
+ }
39
+ *outIntervalDuration = now - timer->lastLogTime;
40
+ *outTotalElapsed = now - timer->startTime;
41
+ timer->lastLogTime = now;
42
+ return YES;
43
+ }
@@ -0,0 +1,86 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+ NS_ASSUME_NONNULL_BEGIN
11
+
12
+ /**
13
+ ObjC helper that wraps SimDevice / SimRuntime calls.
14
+ Swift files in this mixed module cannot see the full CoreSimulator interface
15
+ (headers are private and have no module map). This class bridges the gap.
16
+ */
17
+ @interface FBSimDeviceWrapper : NSObject
18
+
19
+ #pragma mark - Property Access
20
+
21
+ /// Returns SimDevice.runtime.root for the given device.
22
+ + (nullable NSString *)runtimeRootForDevice:(id)device;
23
+
24
+ #pragma mark - Capability Checks
25
+
26
+ /// Returns YES if the device responds to -simulateMemoryWarning.
27
+ + (BOOL)deviceCanSimulateMemoryWarning:(id)device;
28
+
29
+ /// Returns YES if the device responds to -setLocationWithLatitude:andLongitude:error:.
30
+ + (BOOL)deviceCanSetLocation:(id)device;
31
+
32
+ /// Returns YES if the device responds to -sendPushNotificationForBundleID:jsonPayload:error:.
33
+ + (BOOL)deviceCanSendPushNotification:(id)device;
34
+
35
+ #pragma mark - Actions
36
+
37
+ /// Calls -[SimDevice simulateMemoryWarning] on the given device.
38
+ + (void)simulateMemoryWarningOnDevice:(id)device;
39
+
40
+ /// Calls -[SimDevice setLocationWithLatitude:andLongitude:error:] on the given device.
41
+ + (BOOL)setLocationOnDevice:(id)device latitude:(double)latitude longitude:(double)longitude error:(NSError *_Nullable *_Nullable)error;
42
+
43
+ /// Calls -[SimDevice sendPushNotificationForBundleID:jsonPayload:error:] on the given device.
44
+ + (void)sendPushNotificationOnDevice:(id)device bundleID:(NSString *)bundleID jsonPayload:(NSDictionary<NSString *, id> *)payload error:(NSError *_Nullable *_Nullable)error;
45
+
46
+ /// Calls -[SimDevice installApplication:withOptions:error:] on the given device.
47
+ + (BOOL)installApplicationOnDevice:(id)device appURL:(NSURL *)appURL options:(NSDictionary<NSString *, id> *)options error:(NSError *_Nullable *_Nullable)error;
48
+
49
+ /// Calls -[SimDevice uninstallApplication:withOptions:error:] on the given device.
50
+ + (BOOL)uninstallApplicationOnDevice:(id)device bundleID:(NSString *)bundleID options:(nullable NSDictionary *)options error:(NSError *_Nullable *_Nullable)error;
51
+
52
+ /// Calls -[SimDevice terminateApplicationWithID:error:] on the given device.
53
+ + (BOOL)terminateApplicationOnDevice:(id)device bundleID:(NSString *)bundleID error:(NSError *_Nullable *_Nullable)error;
54
+
55
+ /// Calls -[SimDevice installedAppsWithError:] on the given device.
56
+ + (nullable NSDictionary<NSString *, id> *)installedAppsOnDevice:(id)device error:(NSError *_Nullable *_Nullable)error;
57
+
58
+ /// Calls -[SimDevice applicationIsInstalled:type:error:] on the given device.
59
+ + (BOOL)applicationIsInstalledOnDevice:(id)device bundleID:(NSString *)bundleID typeOut:(NSString *_Nullable *_Nullable)typeOut error:(NSError *_Nullable *_Nullable)error;
60
+
61
+ /// Calls -[SimDevice propertiesOfApplication:error:] on the given device.
62
+ + (nullable NSDictionary<NSString *, id> *)propertiesOfApplicationOnDevice:(id)device bundleID:(NSString *)bundleID error:(NSError *_Nullable *_Nullable)error;
63
+
64
+ /// Calls -[SimDevice launchApplicationAsyncWithID:options:completionQueue:completionHandler:] on the given device.
65
+ + (void)launchApplicationAsyncOnDevice:(id)device bundleID:(NSString *)bundleID options:(NSDictionary<NSString *, id> *)options completionQueue:(dispatch_queue_t)completionQueue completionHandler:(void (^)(NSError *_Nullable error, pid_t pid))completionHandler;
66
+
67
+ /// Calls -[SimDevice spawnAsyncWithPath:options:terminationQueue:terminationHandler:completionQueue:completionHandler:] on the given device.
68
+ + (void)spawnAsyncOnDevice:(id)device path:(NSString *)path options:(NSDictionary<NSString *, id> *)options terminationQueue:(dispatch_queue_t)terminationQueue terminationHandler:(void (^)(int stat_loc))terminationHandler completionQueue:(dispatch_queue_t)completionQueue completionHandler:(void (^)(NSError *_Nullable error, pid_t pid))completionHandler;
69
+
70
+ #pragma mark - Media
71
+
72
+ /// Calls -[SimDevice addPhoto:error:] on the given device.
73
+ + (BOOL)addPhotoOnDevice:(id)device url:(NSURL *)url error:(NSError *_Nullable *_Nullable)error;
74
+
75
+ /// Calls -[SimDevice addVideo:error:] on the given device.
76
+ + (BOOL)addVideoOnDevice:(id)device url:(NSURL *)url error:(NSError *_Nullable *_Nullable)error;
77
+
78
+ /// Calls -[SimDevice addMedia:error:] on the given device.
79
+ + (BOOL)addMediaOnDevice:(id)device urls:(NSArray<NSURL *> *)urls error:(NSError *_Nullable *_Nullable)error;
80
+
81
+ /// Returns SimDevice.stateString for the given device.
82
+ + (nullable NSString *)stateStringForDevice:(id)device;
83
+
84
+ @end
85
+
86
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,160 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+ #import <FBControlCore/FBControlCore.h>
11
+
12
+ @protocol FBControlCoreLogger;
13
+
14
+ @class FBAppleSimctlCommandExecutor;
15
+ @class FBControlCoreLogger;
16
+ @class FBSimulatorBootConfiguration;
17
+ @class FBSimulatorConfiguration;
18
+ @class FBSimulatorSet;
19
+ @class FBTargetCommandCache;
20
+ @class SimDevice;
21
+
22
+ // Methods declared here are implemented via Swift extensions on FBSimulator.
23
+
24
+ /**
25
+ An implementation of FBiOSTarget for iOS Simulators.
26
+ */
27
+ // Protocol conformances declared in Swift via extensions:
28
+ // FBSimulatorKeychainCommandsProtocol, FBSimulatorSettingsCommandsProtocol,
29
+ // FBSimulatorLifecycleCommandsProtocol, FBSimulatorLaunchCtlCommandsProtocol,
30
+ // FBSimulatorMediaCommandsProtocol, FBSimulatorApplicationCommandsProtocol,
31
+ // FBSimulatorFileCommandsProtocol
32
+ @interface FBSimulator : NSObject <FBiOSTarget>
33
+
34
+ #pragma mark FBiOSTargetInfo / FBiOSTarget Protocol Members
35
+
36
+ /**
37
+ FBiOSTargetInfo protocol members - implemented in FBSimulator.m.
38
+ Must be declared explicitly for Swift visibility since the protocols are Swift-defined.
39
+ */
40
+ @property (nonnull, nonatomic, readonly, copy) NSString *uniqueIdentifier;
41
+ @property (nonnull, nonatomic, readonly, copy) NSString *udid;
42
+ @property (nonnull, nonatomic, readonly, copy) NSString *name;
43
+ @property (nonnull, nonatomic, readonly, strong) FBDeviceType *deviceType;
44
+ @property (nonnull, nonatomic, readonly, copy) NSArray<FBArchitecture> *architectures;
45
+ @property (nonnull, nonatomic, readonly, strong) FBOSVersion *osVersion;
46
+ @property (nonnull, nonatomic, readonly, copy) NSDictionary<NSString *, id> *extendedInformation;
47
+ @property (nonatomic, readonly, assign) FBiOSTargetType targetType;
48
+ @property (nonatomic, readonly, assign) FBiOSTargetState state;
49
+
50
+ /**
51
+ FBiOSTarget protocol members - implemented in FBSimulator.m.
52
+ */
53
+ @property (nullable, nonatomic, readonly, strong) id<FBControlCoreLogger> logger;
54
+ @property (nullable, nonatomic, readonly, copy) NSString *customDeviceSetPath;
55
+ @property (nonnull, nonatomic, readonly, strong) FBTemporaryDirectory *temporaryDirectory;
56
+ @property (nonnull, nonatomic, readonly, copy) NSString *auxillaryDirectory;
57
+ @property (nonnull, nonatomic, readonly, copy) NSString *runtimeRootDirectory;
58
+ @property (nonnull, nonatomic, readonly, copy) NSString *platformRootDirectory;
59
+ @property (nullable, nonatomic, readonly, strong) FBiOSTargetScreenInfo *screenInfo;
60
+ @property (nonnull, nonatomic, readonly, strong) dispatch_queue_t workQueue;
61
+ @property (nonnull, nonatomic, readonly, strong) dispatch_queue_t asyncQueue;
62
+ - (NSComparisonResult)compare:(nonnull id<FBiOSTarget>)target;
63
+ - (BOOL)requiresBundlesToBeSigned;
64
+ - (nonnull NSDictionary<NSString *, NSString *> *)replacementMapping;
65
+ - (nonnull NSDictionary<NSString *, NSString *> *)environmentAdditions;
66
+
67
+ // FBSimulatorLifecycleCommandsProtocol- (nonnull FBFuture<NSNull *> *)disconnectWithTimeout:(NSTimeInterval)timeout logger:(nullable id<FBControlCoreLogger>)logger;
68
+ - (nonnull FBFuture *)connectToBridge;
69
+ - (nonnull FBFuture *)connectToFramebuffer;
70
+
71
+ // FBSimulatorLaunchCtlCommandsProtocol- (nonnull FBFuture<NSDictionary *> *)serviceNamesAndProcessIdentifiersMatching:(nonnull NSRegularExpression *)regex;
72
+ - (nonnull FBFuture<NSArray *> *)firstServiceNameAndProcessIdentifierMatching:(nonnull NSRegularExpression *)regex;
73
+ - (nonnull FBFuture<NSString *> *)stopServiceWithName:(nonnull NSString *)serviceName;
74
+ - (nonnull FBFuture<NSString *> *)serviceNameForProcessIdentifier:(pid_t)processIdentifier;
75
+ - (nonnull FBFuture<NSString *> *)startServiceWithName:(nonnull NSString *)serviceName;
76
+
77
+ // Lifecycle (legacy FBFuture entry points, ObjC-visible)
78
+ - (nonnull FBFuture<NSNull *> *)shutdown;
79
+ - (nonnull FBFuture<NSNull *> *)reboot;
80
+ - (nonnull FBFuture<NSNull *> *)boot:(nonnull FBSimulatorBootConfiguration *)configuration;
81
+
82
+ #pragma mark Properties
83
+
84
+ /**
85
+ The Underlying SimDevice.
86
+ */
87
+ @property (nonnull, nonatomic, readonly, strong) SimDevice *device;
88
+
89
+ /**
90
+ The Simulator Set that the Simulator belongs to.
91
+ Reference to `FBSimulatorSet` results to a strong-strong reference cycle between `FBSimulatorSet` and `FBSimulator`.
92
+ However, this cycle is explicitly broken by `FBSimulatorSet` when a `FBSimulator` is removed from the set that `FBSimulatorSet` wraps.
93
+ */
94
+ @property (nonnull, nonatomic, readonly, strong) FBSimulatorSet *set;
95
+
96
+ /**
97
+ The Product Family of the Simulator.
98
+ */
99
+ @property (nonatomic, readonly, assign) FBControlCoreProductFamily productFamily;
100
+
101
+ /**
102
+ A string representation of the Simulator State.
103
+ */
104
+ @property (nonnull, nonatomic, readonly, copy) FBiOSTargetStateString stateString;
105
+
106
+ /**
107
+ The Directory that Contains the Simulator's Data
108
+ */
109
+ @property (nullable, nonatomic, readonly, copy) NSString *dataDirectory;
110
+
111
+ /**
112
+ The FBSimulatorConfiguration representing this Simulator.
113
+ Should be marked private when converting to Swift (was readwrite in private extension).
114
+ */
115
+ @property (nonnull, nonatomic, readwrite, copy) FBSimulatorConfiguration *configuration;
116
+
117
+ /**
118
+ A command executor for simctl
119
+ */
120
+ @property (nonnull, nonatomic, readonly, strong) FBAppleSimctlCommandExecutor *simctlExecutor;
121
+
122
+ /**
123
+ The directory path of the expected location of the CoreSimulator logs directory.
124
+ */
125
+ @property (nonnull, nonatomic, readonly, copy) NSString *coreSimulatorLogsDirectory;
126
+
127
+ #pragma mark - Should be marked private when converting to Swift
128
+
129
+ @property (nonnull, nonatomic, readonly, strong) FBTargetCommandCache *commandCache;
130
+
131
+ + (nonnull instancetype)fromSimDevice:(nonnull SimDevice *)device configuration:(nullable FBSimulatorConfiguration *)configuration set:(nonnull FBSimulatorSet *)set;
132
+ - (nonnull instancetype)initWithDevice:(nonnull SimDevice *)device configuration:(nonnull FBSimulatorConfiguration *)configuration set:(nullable FBSimulatorSet *)set auxillaryDirectory:(nonnull NSString *)auxillaryDirectory logger:(nonnull id<FBControlCoreLogger>)logger reporter:(nonnull id<FBEventReporter>)reporter;
133
+ - (nonnull instancetype)initWithDevice:(nonnull id)device logger:(nonnull id<FBControlCoreLogger>)logger reporter:(nonnull id<FBEventReporter>)reporter;
134
+
135
+ @end
136
+
137
+ #pragma mark - Healthcheck Helpers
138
+
139
+ /**
140
+ Convenience wrappers for interacting with CoreSimulator IPC surfaces
141
+ without importing SimDevice or constructing Mach headers directly.
142
+ */
143
+ @interface FBSimulator (FBHealthcheckHelpers)
144
+
145
+ /**
146
+ Bootstrap-namespace lookup for a Mach port name in the simulator.
147
+ Live XPC round-trip to the CoreSimulator daemon (SimDevice.lookup: is not cached).
148
+
149
+ @param name The bootstrap port name to look up.
150
+ @param error An error out parameter.
151
+ @return The looked-up Mach port as an NSNumber, or nil on failure.
152
+ */
153
+ - (nullable NSNumber *)lookupBootstrapPortNamed:(nonnull NSString *)name error:(NSError * _Nullable * _Nullable)error;
154
+
155
+ @end
156
+
157
+ // The accessibility translation dispatcher accessors
158
+ // (`createAccessibilityTranslationDispatcher(withTranslator:)` and
159
+ // `accessibilityTranslationDispatcher`) are now provided by a Swift extension on
160
+ // FBSimulator (see FBSimulatorAccessibilityCommands.swift).
@@ -0,0 +1,18 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+ /**
11
+ An Option Set for Direct Launching.
12
+ */
13
+ typedef NS_OPTIONS(NSUInteger, FBSimulatorBootOptions) {
14
+ FBSimulatorBootOptionsTieToProcessLifecycle = 1 << 1, /** When set, will tie the Simulator's lifecycle to that of the launching process. This means that when the process that performs the boot dies, the Simulator is shutdown automatically. */
15
+ FBSimulatorBootOptionsVerifyUsable = 1 << 3, /** A Simulator can be report that it is 'Booted' very quickly but is not in Usable. Setting this option requires that the Simulator is 'Usable' before the boot API completes */
16
+ };
17
+
18
+ // after all protocol headers, to avoid include ordering issues.