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.
- package/LICENSE +21 -0
- package/README.md +186 -2
- package/THIRD_PARTY_LICENSES +61 -0
- package/bin/simtap.js +4 -0
- package/dist/act/diff.js +67 -0
- package/dist/act/resolve.js +49 -0
- package/dist/act/steps.js +188 -0
- package/dist/cli.js +123 -0
- package/dist/engine/apps.js +153 -0
- package/dist/engine/axe.js +107 -0
- package/dist/engine/exec.js +36 -0
- package/dist/engine/jobs.js +95 -0
- package/dist/engine/logs.js +115 -0
- package/dist/engine/simctl.js +191 -0
- package/dist/engine/state.js +30 -0
- package/dist/engine/xcode.js +253 -0
- package/dist/engine/xcresult.js +95 -0
- package/dist/errors.js +11 -0
- package/dist/look/read.js +50 -0
- package/dist/look/snapshot.js +455 -0
- package/dist/mcp.js +108 -0
- package/dist/registry.js +65 -0
- package/dist/tools/app-control.js +127 -0
- package/dist/tools/app-logs.js +128 -0
- package/dist/tools/app-run.js +94 -0
- package/dist/tools/device-use.js +68 -0
- package/dist/tools/devices.js +26 -0
- package/dist/tools/jobs.js +55 -0
- package/dist/tools/launch-app.js +68 -0
- package/dist/tools/screen-record.js +79 -0
- package/dist/tools/tests-run.js +81 -0
- package/dist/tools/types.js +2 -0
- package/dist/tools/ui-act.js +435 -0
- package/dist/tools/ui-look.js +40 -0
- package/package.json +45 -4
- package/skill/SKILL.md +23 -0
- package/vendor/axe/.version +1 -0
- package/vendor/axe/AXe_AXe.bundle/skills/axe/SKILL.md +87 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/FBControlCore +0 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBAccessibilityTraits.h +23 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBArchitecture.h +20 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBArchiveOperations.h +136 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBBinaryDescriptor.h +73 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBControlCore-Swift.h +3232 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBControlCore-SwiftImport.h +28 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBControlCore.h +47 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBControlCoreFrameworkLoader.h +104 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBControlCoreLogger+OSLog.h +30 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBControlCoreLogger.h +107 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBCrashLog.h +20 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBDataBuffer.h +75 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBDataConsumer.h +173 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBFileContainer.h +46 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBFileReader.h +25 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBFourCharCode.h +30 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBFuture+Sync.h +104 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBFuture.h +580 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBFutureContextManager.h +61 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBInstalledApplication.h +30 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBInstrumentsCommands.h +29 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBInstrumentsOperation.h +83 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBObjCExceptionGuard.h +59 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBProcessBuilder.h +272 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBProcessFetcher.h +128 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBProcessIO.h +126 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBProcessStream.h +175 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBProcessTerminationStrategy.h +25 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBScreenshotCommands.h +15 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBSettingsCommands.h +22 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBSocketServer.h +63 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBSubprocess.h +131 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBVideoStream.h +255 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBVideoStreamConfiguration.h +51 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBXCTraceOperation.h +13 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBiOSTarget.h +69 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBiOSTargetConfiguration.h +322 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBiOSTargetConstants.h +48 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Headers/FBiOSTargetOperation.h +18 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo +0 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo +0 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/arm64-apple-macos.abi.json +51890 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/arm64-apple-macos.private.swiftinterface +1341 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/arm64-apple-macos.swiftdoc +0 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/arm64-apple-macos.swiftinterface +1341 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/arm64-apple-macos.swiftmodule +0 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/x86_64-apple-macos.abi.json +51890 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/x86_64-apple-macos.private.swiftinterface +1341 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/x86_64-apple-macos.swiftdoc +0 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/x86_64-apple-macos.swiftinterface +1341 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/FBControlCore.swiftmodule/x86_64-apple-macos.swiftmodule +0 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Modules/module.modulemap +10 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/Resources/Info.plist +50 -0
- package/vendor/axe/Frameworks/FBControlCore.framework/Versions/A/_CodeSignature/CodeResources +492 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/FBDeviceControl +0 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAFCConnection.h +135 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAMDServiceConnection.h +239 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAMDefines.h +256 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAMDevice.h +105 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAMDeviceManager.h +59 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAMRestorableDevice.h +72 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBAMRestorableDeviceManager.h +32 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDevice.h +89 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDeviceCommands.h +147 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDeviceControl-Swift.h +1500 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDeviceControl.h +24 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDeviceControlFrameworkLoader.h +25 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDeviceDebugSymbolsCommands.h +29 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBDeviceManager.h +118 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Headers/FBInstrumentsClient.h +49 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo +0 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo +0 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.abi.json +16073 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.private.swiftinterface +398 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.swiftdoc +0 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.swiftinterface +398 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/arm64-apple-macos.swiftmodule +0 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.abi.json +16073 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.private.swiftinterface +398 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.swiftdoc +0 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.swiftinterface +398 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/FBDeviceControl.swiftmodule/x86_64-apple-macos.swiftmodule +0 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Modules/module.modulemap +10 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/Resources/Info.plist +50 -0
- package/vendor/axe/Frameworks/FBDeviceControl.framework/Versions/A/_CodeSignature/CodeResources +324 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/FBSimulatorControl +0 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBFramebuffer.h +24 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBPeriodicStatsTimer.h +43 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimDeviceWrapper.h +86 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulator.h +160 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulatorBootConfiguration.h +18 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulatorControl-Swift.h +2270 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulatorControl.h +21 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulatorControlFrameworkLoader.h +45 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulatorVideoStream.h +153 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo +0 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo +0 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/arm64-apple-macos.abi.json +46980 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/arm64-apple-macos.private.swiftinterface +1072 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/arm64-apple-macos.swiftdoc +0 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/arm64-apple-macos.swiftinterface +1072 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/arm64-apple-macos.swiftmodule +0 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/x86_64-apple-macos.abi.json +46980 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/x86_64-apple-macos.private.swiftinterface +1072 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/x86_64-apple-macos.swiftdoc +0 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/x86_64-apple-macos.swiftinterface +1072 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/FBSimulatorControl.swiftmodule/x86_64-apple-macos.swiftmodule +0 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Modules/module.modulemap +10 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Resources/Info.plist +50 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Resources/README.md +124 -0
- package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/_CodeSignature/CodeResources +293 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBActivityRecord.h +33 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBAttachment.h +25 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBCodeCoverageConfiguration.h +15 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBTestBundleConnection.h +37 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBTestConfiguration.h +74 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBTestManagerAPIMediator.h +46 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBTestManagerResultSummary.h +19 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBTestReporterAdapter.h +27 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/FBXCTestConfiguration.h +30 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/XCTestBootstrap-Swift.h +1570 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/XCTestBootstrap.h +22 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Headers/XCTestBootstrapError.h +25 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo +0 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo +0 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/arm64-apple-macos.abi.json +15972 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/arm64-apple-macos.private.swiftinterface +397 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/arm64-apple-macos.swiftdoc +0 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/arm64-apple-macos.swiftinterface +397 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/arm64-apple-macos.swiftmodule +0 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/x86_64-apple-macos.abi.json +15972 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/x86_64-apple-macos.private.swiftinterface +397 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/x86_64-apple-macos.swiftdoc +0 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/x86_64-apple-macos.swiftinterface +397 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/XCTestBootstrap.swiftmodule/x86_64-apple-macos.swiftmodule +0 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Modules/module.modulemap +13 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/Resources/Info.plist +50 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/XCTestBootstrap +0 -0
- package/vendor/axe/Frameworks/XCTestBootstrap.framework/Versions/A/_CodeSignature/CodeResources +303 -0
- package/vendor/axe/axe +0 -0
package/vendor/axe/Frameworks/FBSimulatorControl.framework/Versions/A/Headers/FBSimulatorControl.h
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
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
|
+
// Headers with C type definitions must come before any header that imports
|
|
9
|
+
// FBSimulatorControl-Swift.h, because the generated Swift header may reference
|
|
10
|
+
// these types (e.g. FBSimulatorBootOptions).
|
|
11
|
+
#import <FBSimulatorControl/FBFramebuffer.h>
|
|
12
|
+
#import <FBSimulatorControl/FBPeriodicStatsTimer.h>
|
|
13
|
+
#import <FBSimulatorControl/FBSimDeviceWrapper.h>
|
|
14
|
+
#import <FBSimulatorControl/FBSimulator.h>
|
|
15
|
+
#import <FBSimulatorControl/FBSimulatorBootConfiguration.h>
|
|
16
|
+
#import <FBSimulatorControl/FBSimulatorControlFrameworkLoader.h>
|
|
17
|
+
#import <FBSimulatorControl/FBSimulatorVideoStream.h>
|
|
18
|
+
|
|
19
|
+
#if __has_include(<FBSimulatorControl/FBSimulatorControl-Swift.h>)
|
|
20
|
+
#import <FBSimulatorControl/FBSimulatorControl-Swift.h>
|
|
21
|
+
#endif
|
|
@@ -0,0 +1,45 @@
|
|
|
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
|
+
/**
|
|
13
|
+
A Class for handling Framework Loading of Private Frameworks that FBSimulatorControl depends on.
|
|
14
|
+
*/
|
|
15
|
+
@interface FBSimulatorControlFrameworkLoader : FBControlCoreFrameworkLoader
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
The Frameworks needed for most operations.
|
|
19
|
+
*/
|
|
20
|
+
@property (class, nonnull, nonatomic, readonly, strong) FBSimulatorControlFrameworkLoader *essentialFrameworks;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
The frameworks needed for Accessibility operations.
|
|
24
|
+
*/
|
|
25
|
+
@property (class, nonnull, nonatomic, readonly, strong) FBSimulatorControlFrameworkLoader *accessibilityFrameworks;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
The Xcode frameworks needed to bootstrap simulator Accessibility on Xcode 27+.
|
|
29
|
+
*/
|
|
30
|
+
@property (class, nonnull, nonatomic, readonly, strong) FBSimulatorControlFrameworkLoader *accessibilityAutomationFrameworks;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
Starts a short-lived remote automation session and asks it to load Accessibility.
|
|
34
|
+
*/
|
|
35
|
+
+ (BOOL)bootstrapAccessibilityForSimulatorDevice:(nonnull id)simulatorDevice
|
|
36
|
+
timeout:(NSTimeInterval)timeout
|
|
37
|
+
logger:(nullable id<FBControlCoreLogger>)logger
|
|
38
|
+
error:(NSError * _Nullable * _Nullable)error;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
All of the Frameworks for operations involving the HID and Framebuffer.
|
|
42
|
+
*/
|
|
43
|
+
@property (class, nonnull, nonatomic, readonly, strong) FBSimulatorControlFrameworkLoader *xcodeFrameworks;
|
|
44
|
+
|
|
45
|
+
@end
|
|
@@ -0,0 +1,153 @@
|
|
|
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
|
+
#import <FBSimulatorControl/FBFramebuffer.h>
|
|
12
|
+
|
|
13
|
+
@class FBFramebuffer;
|
|
14
|
+
@class FBVideoStreamConfiguration;
|
|
15
|
+
@protocol FBDataConsumer;
|
|
16
|
+
@protocol FBDataConsumerSync;
|
|
17
|
+
@protocol FBDataConsumerAsync;
|
|
18
|
+
@protocol FBControlCoreLogger;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
Edge insets that extend the output frame dimensions beyond the source framebuffer.
|
|
22
|
+
Each edge adds opaque pixels for overlay content (label bars, diagnostic stats, etc.).
|
|
23
|
+
*/
|
|
24
|
+
typedef struct {
|
|
25
|
+
NSUInteger top;
|
|
26
|
+
NSUInteger bottom;
|
|
27
|
+
NSUInteger left;
|
|
28
|
+
NSUInteger right;
|
|
29
|
+
} FBVideoStreamEdgeInsets;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
Stats tracked by the video encoder (VideoToolbox).
|
|
33
|
+
Zeroed if the stream uses a non-encoded format (e.g. bitmap/BGRA).
|
|
34
|
+
*/
|
|
35
|
+
typedef struct {
|
|
36
|
+
NSUInteger callbackCount;
|
|
37
|
+
NSUInteger writeCount;
|
|
38
|
+
NSUInteger dropCount;
|
|
39
|
+
NSUInteger writeFailureCount;
|
|
40
|
+
NSUInteger encodeErrorCount;
|
|
41
|
+
NSUInteger tornFrameCount;
|
|
42
|
+
NSUInteger totalEncodedBytes;
|
|
43
|
+
CFTimeInterval totalEncodeSubmitSeconds;
|
|
44
|
+
} FBVideoEncoderStats;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
A Video Stream of a Simulator's Framebuffer.
|
|
48
|
+
This component can be used to provide a real-time stream of a Simulator's Framebuffer.
|
|
49
|
+
This can be connected to additional software via a stream to a File Handle or Fifo.
|
|
50
|
+
*/
|
|
51
|
+
// FBFramebufferConsumer and FBVideoStream conformance are declared in .m.
|
|
52
|
+
@interface FBSimulatorVideoStream : NSObject
|
|
53
|
+
|
|
54
|
+
#pragma mark Initializers
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
Constructs a Bitmap Stream.
|
|
58
|
+
Bitmaps will only be written when there is a new bitmap available.
|
|
59
|
+
|
|
60
|
+
@param framebuffer the framebuffer to get frames from.
|
|
61
|
+
@param configuration the configuration to use.
|
|
62
|
+
@param logger the logger to log to.
|
|
63
|
+
@return a new Bitmap Stream object.
|
|
64
|
+
*/
|
|
65
|
+
+ (nonnull instancetype)streamWithFramebuffer:(nonnull FBFramebuffer *)framebuffer configuration:(nonnull FBVideoStreamConfiguration *)configuration logger:(nonnull id<FBControlCoreLogger>)logger;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
Constructs a Bitmap Stream with edge insets for overlay content.
|
|
69
|
+
Insets extend the output frame dimensions, pushing video content inward.
|
|
70
|
+
|
|
71
|
+
@param framebuffer the framebuffer to get frames from.
|
|
72
|
+
@param configuration the configuration to use.
|
|
73
|
+
@param edgeInsets the number of output pixels to add on each edge for overlay content.
|
|
74
|
+
@param logger the logger to log to.
|
|
75
|
+
@return a new Bitmap Stream object.
|
|
76
|
+
*/
|
|
77
|
+
+ (nonnull instancetype)streamWithFramebuffer:(nonnull FBFramebuffer *)framebuffer configuration:(nonnull FBVideoStreamConfiguration *)configuration edgeInsets:(FBVideoStreamEdgeInsets)edgeInsets logger:(nonnull id<FBControlCoreLogger>)logger;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
Builds the compression session properties dictionary for a given configuration and caller-provided properties.
|
|
81
|
+
This is extracted for testability — the dictionary is passed to VTSessionSetProperties at stream start.
|
|
82
|
+
|
|
83
|
+
@param configuration the stream configuration (encoding, quality, bitrate, etc.).
|
|
84
|
+
@param callerProperties additional properties from the stream subclass (e.g. FPS-related keys for eager streams).
|
|
85
|
+
@return an immutable dictionary of compression session properties.
|
|
86
|
+
*/
|
|
87
|
+
+ (nonnull NSDictionary<NSString *, id> *)compressionSessionPropertiesForConfiguration:(nonnull FBVideoStreamConfiguration *)configuration callerProperties:(nonnull NSDictionary<NSString *, id> *)callerProperties;
|
|
88
|
+
|
|
89
|
+
#pragma mark Overlay
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
Update the overlay buffer and push a frame to encode the change.
|
|
93
|
+
The buffer should be BGRA with premultiplied alpha, ideally IOSurface-backed for zero-copy GPU compositing.
|
|
94
|
+
Pass the same buffer reference after updating its contents in-place, or a new buffer to swap.
|
|
95
|
+
Pass nil to clear the overlay.
|
|
96
|
+
|
|
97
|
+
In lazy/VFR mode: dispatches pushFrame on the write queue so overlay changes are encoded immediately.
|
|
98
|
+
In eager/CFR mode: no extra push — the next cadence tick picks up the change without disrupting frame timing.
|
|
99
|
+
|
|
100
|
+
@param overlayBuffer a CVPixelBuffer with the overlay content, or nil to clear.
|
|
101
|
+
*/
|
|
102
|
+
- (void)updateOverlayBuffer:(nullable CVPixelBufferRef)overlayBuffer;
|
|
103
|
+
|
|
104
|
+
#pragma mark Timed Metadata
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
Write a timed metadata marker (chapter) to the stream.
|
|
108
|
+
Dispatches to the appropriate transport mechanism (MPEG-TS ID3, fMP4 emsg).
|
|
109
|
+
Logs and drops if the transport does not support timed metadata.
|
|
110
|
+
|
|
111
|
+
@param text the chapter/marker label text.
|
|
112
|
+
*/
|
|
113
|
+
- (void)writeTimedMetadata:(nonnull NSString *)text;
|
|
114
|
+
|
|
115
|
+
#pragma mark Screenshot
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
Capture a PNG screenshot of the current frame with overlay composited.
|
|
119
|
+
|
|
120
|
+
@param error an error out for any error that occurs.
|
|
121
|
+
@return PNG data if successful, nil otherwise.
|
|
122
|
+
*/
|
|
123
|
+
- (nullable NSData *)captureCompositedScreenshotWithError:(NSError * _Nullable * _Nullable)error;
|
|
124
|
+
|
|
125
|
+
#pragma mark Stats
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
Returns a snapshot of the current video encoder stats.
|
|
129
|
+
Returns a zeroed struct if the stream uses a non-encoded format (e.g. bitmap/BGRA).
|
|
130
|
+
*/
|
|
131
|
+
- (FBVideoEncoderStats)currentEncoderStats;
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
Returns a snapshot of the current framebuffer stats (from the underlying FBFramebuffer).
|
|
135
|
+
*/
|
|
136
|
+
- (FBFramebufferStats)currentFramebufferStats;
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
Total number of frames pushed to the encoder since streaming started.
|
|
140
|
+
*/
|
|
141
|
+
@property (nonatomic, readonly) NSUInteger currentFrameNumber;
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
Wall-clock time when the first frame was pushed, or 0 if not yet started.
|
|
145
|
+
*/
|
|
146
|
+
@property (nonatomic, readonly) CFTimeInterval currentTimeAtFirstFrame;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
Wall-clock time when the first framebuffer callback was received, or 0 if not yet started.
|
|
150
|
+
*/
|
|
151
|
+
@property (nonatomic, readonly) CFTimeInterval framebufferStatsStartTime;
|
|
152
|
+
|
|
153
|
+
@end
|
|
Binary file
|