├── .circleci └── config.yml ├── .dockerignore ├── .github ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── build_and_deploy.yml ├── .gitignore ├── .travis.yml ├── CODE_OF_CONDUCT.md ├── CompanionLib ├── BridgeFuture │ ├── BridgeFuture.swift │ └── BridgeQueues.swift ├── CompanionLib.h ├── Configuration │ ├── FBIDBAppHostedTestConfiguration.h │ └── FBIDBAppHostedTestConfiguration.m ├── FBIDBCommandExecutor.h ├── FBIDBCommandExecutor.m ├── Reporting │ ├── FBIDBError.h │ └── FBIDBError.m ├── Request │ ├── FBCodeCoverageRequest.h │ ├── FBCodeCoverageRequest.m │ ├── FBDsymInstallLinkToBundle.h │ ├── FBDsymInstallLinkToBundle.m │ ├── FBXCTestRunRequest.h │ └── FBXCTestRunRequest.m └── Utility │ ├── FBDataDownloadInput.h │ ├── FBDataDownloadInput.m │ ├── FBIDBLogger.h │ ├── FBIDBLogger.m │ ├── FBIDBStorageManager.h │ ├── FBIDBStorageManager.m │ ├── FBIDBTestOperation.h │ ├── FBIDBTestOperation.m │ ├── FBTestApplicationsPair.h │ ├── FBTestApplicationsPair.m │ ├── FBXCTestDescriptor.h │ ├── FBXCTestDescriptor.m │ ├── FBXCTestReporterConfiguration.h │ ├── FBXCTestReporterConfiguration.m │ ├── FBXCTestRunFileReader.h │ ├── FBXCTestRunFileReader.m │ ├── FBiOSTargetProvider.h │ └── FBiOSTargetProvider.m ├── Configuration ├── Framework.xcconfig └── Shared.xcconfig ├── Dockerfile ├── FBControlCore ├── Applications │ ├── FBBinaryDescriptor.h │ ├── FBBinaryDescriptor.m │ ├── FBBundleDescriptor+Application.h │ ├── FBBundleDescriptor+Application.m │ ├── FBBundleDescriptor.h │ ├── FBBundleDescriptor.m │ ├── FBInstalledApplication.h │ └── FBInstalledApplication.m ├── Async │ ├── FBFuture+Sync.h │ ├── FBFuture+Sync.m │ ├── FBFuture.h │ ├── FBFuture.m │ ├── FBFutureContextManager.h │ └── FBFutureContextManager.m ├── Codesigning │ ├── FBCodesignProvider.h │ └── FBCodesignProvider.m ├── Commands │ ├── FBAccessibilityCommands.h │ ├── FBApplicationCommands.h │ ├── FBCrashLogCommands.h │ ├── FBDapServerCommands.h │ ├── FBDebuggerCommands.h │ ├── FBDeveloperDiskImageCommands.h │ ├── FBDiagnosticInformationCommands.h │ ├── FBEraseCommands.h │ ├── FBFileCommands.h │ ├── FBFileContainer.h │ ├── FBFileContainer.m │ ├── FBInstrumentsCommands.h │ ├── FBInstrumentsCommands.m │ ├── FBLifecycleCommands.h │ ├── FBLocationCommands.h │ ├── FBLogCommands.h │ ├── FBLogCommands.m │ ├── FBMemoryCommands.h │ ├── FBNotificationCommands.h │ ├── FBPowerCommands.h │ ├── FBProcessSpawnCommands.h │ ├── FBProcessSpawnCommands.m │ ├── FBProvisioningProfileCommands.h │ ├── FBScreenshotCommands.h │ ├── FBScreenshotCommands.m │ ├── FBSettingsCommands.h │ ├── FBSettingsCommands.m │ ├── FBVideoRecordingCommands.h │ ├── FBVideoStreamCommands.h │ ├── FBXCTestCommands.h │ ├── FBXCTraceRecordCommands.h │ ├── FBXCTraceRecordCommands.m │ ├── FBiOSTargetCommandForwarder.h │ └── FBiOSTargetCommandForwarder.m ├── Configuration │ ├── FBApplicationLaunchConfiguration.h │ ├── FBApplicationLaunchConfiguration.m │ ├── FBArchitectureProcessAdapter.h │ ├── FBArchitectureProcessAdapter.m │ ├── FBInstrumentsConfiguration.h │ ├── FBInstrumentsConfiguration.m │ ├── FBProcessLaunchConfiguration.h │ ├── FBProcessLaunchConfiguration.m │ ├── FBProcessSpawnConfiguration.h │ ├── FBProcessSpawnConfiguration.m │ ├── FBTestLaunchConfiguration.h │ ├── FBTestLaunchConfiguration.m │ ├── FBVideoStreamConfiguration.h │ ├── FBVideoStreamConfiguration.m │ ├── FBXCTestShimConfiguration.h │ ├── FBXCTestShimConfiguration.m │ ├── FBXCTraceConfiguration.h │ ├── FBXCTraceConfiguration.m │ ├── FBiOSTargetConfiguration.h │ └── FBiOSTargetConfiguration.m ├── Crashes │ ├── FBCrashLog.h │ ├── FBCrashLog.m │ ├── FBCrashLogNotifier.h │ ├── FBCrashLogNotifier.m │ ├── FBCrashLogParser.h │ └── FBCrashLogParser.m ├── FBControlCore-Info.plist ├── FBControlCore.h ├── FBControlCore.xcconfig ├── Management │ ├── FBiOSTarget.h │ ├── FBiOSTarget.m │ ├── FBiOSTargetConstants.h │ ├── FBiOSTargetConstants.m │ ├── FBiOSTargetOperation.h │ ├── FBiOSTargetOperation.m │ └── FBiOSTargetSet.h ├── Processes │ ├── FBProcessFetcher.h │ ├── FBProcessFetcher.m │ ├── FBProcessInfo.h │ ├── FBProcessInfo.m │ ├── FBProcessTerminationStrategy.h │ ├── FBProcessTerminationStrategy.m │ ├── FBServiceManagement.h │ └── FBServiceManagement.m ├── Reporting │ ├── FBEventReporter.h │ ├── FBEventReporterSubject.h │ └── FBEventReporterSubject.m ├── Sockets │ ├── FBSocketServer.h │ └── FBSocketServer.m ├── Tasks │ ├── FBLaunchedApplication.h │ ├── FBProcess.h │ ├── FBProcess.m │ ├── FBProcessBuilder.h │ └── FBProcessBuilder.m └── Utility │ ├── FBAccessibilityTraits.h │ ├── FBAccessibilityTraits.m │ ├── FBArchitecture.h │ ├── FBArchitecture.m │ ├── FBArchiveOperations.h │ ├── FBArchiveOperations.m │ ├── FBCollectionInformation.h │ ├── FBCollectionInformation.m │ ├── FBCollectionOperations.h │ ├── FBCollectionOperations.m │ ├── FBConcatedJsonParser.h │ ├── FBConcatedJsonParser.m │ ├── FBConcurrentCollectionOperations.h │ ├── FBConcurrentCollectionOperations.m │ ├── FBControlCoreError.h │ ├── FBControlCoreError.m │ ├── FBControlCoreFrameworkLoader.h │ ├── FBControlCoreFrameworkLoader.m │ ├── FBControlCoreGlobalConfiguration.h │ ├── FBControlCoreGlobalConfiguration.m │ ├── FBControlCoreLogger+OSLog.h │ ├── FBControlCoreLogger+OSLog.m │ ├── FBControlCoreLogger.h │ ├── FBControlCoreLogger.m │ ├── FBCrashLogStore.h │ ├── FBCrashLogStore.m │ ├── FBDataBuffer.h │ ├── FBDataBuffer.m │ ├── FBDataConsumer.h │ ├── FBDataConsumer.m │ ├── FBDeveloperDiskImage.h │ ├── FBDeveloperDiskImage.m │ ├── FBFileReader.h │ ├── FBFileReader.m │ ├── FBFileWriter.h │ ├── FBFileWriter.m │ ├── FBInstrumentsOperation.h │ ├── FBInstrumentsOperation.m │ ├── FBLoggingWrapper.h │ ├── FBLoggingWrapper.m │ ├── FBProcessIO.h │ ├── FBProcessIO.m │ ├── FBProcessStream.h │ ├── FBProcessStream.m │ ├── FBStorageUtils.h │ ├── FBStorageUtils.m │ ├── FBTemporaryDirectory.h │ ├── FBTemporaryDirectory.m │ ├── FBVideoFileWriter.h │ ├── FBVideoFileWriter.m │ ├── FBVideoStream.h │ ├── FBVideoStream.m │ ├── FBWeakFramework+ApplePrivateFrameworks.h │ ├── FBWeakFramework+ApplePrivateFrameworks.m │ ├── FBWeakFramework.h │ ├── FBWeakFramework.m │ ├── FBXCTraceOperation.h │ ├── FBXCTraceOperation.m │ ├── FBXcodeConfiguration.h │ ├── FBXcodeConfiguration.m │ ├── FBXcodeDirectory.h │ ├── FBXcodeDirectory.m │ ├── NSPredicate+FBControlCore.h │ └── NSPredicate+FBControlCore.m ├── FBControlCoreTests ├── Doubles │ ├── FBControlCoreLoggerDouble.h │ ├── FBControlCoreLoggerDouble.m │ ├── FBiOSTargetDouble.h │ └── FBiOSTargetDouble.m ├── FBControlCoreTests-Info.plist ├── FBControlCoreTests.xcconfig ├── Fixtures │ ├── FBControlCoreFixtures.h │ ├── FBControlCoreFixtures.m │ ├── TestFixtures.swift │ ├── agent_custom_set.crash │ ├── app_custom_set.crash │ ├── app_default_set.crash │ ├── assetsd_custom_set.crash │ ├── photo0.png │ ├── simulator_system.log │ ├── tree.json │ ├── xctest │ └── xctest-concated-json-crash.ips ├── Templates │ ├── FBControlCoreValueTestCase.h │ └── FBControlCoreValueTestCase.m └── Tests │ ├── Integration │ ├── FBControlCoreFrameworkLoaderTests.m │ ├── FBFileReaderTests.m │ ├── FBFileWriterTests.m │ ├── FBProcessFetcherTests.m │ ├── FBProcessIOTests.m │ ├── FBProcessStreamTests.m │ └── FBProcessTests.m │ └── Unit │ ├── AXTraitsTest.m │ ├── FBArchitectureProcessAdapterTests.swift │ ├── FBBinaryDescriptorTests.m │ ├── FBConcatedJsonParserTests.swift │ ├── FBControlCoreLoggerTests.m │ ├── FBControlCoreRunLoopTests.m │ ├── FBCrashLogInfoTests.swift │ ├── FBDataBufferTests.m │ ├── FBFileContainerTests.m │ ├── FBFutureContextManagerTests.m │ ├── FBFutureTests.m │ ├── FBXcodeDirectoryTests.m │ ├── FBiOSTargetCommandForwarderTests.m │ ├── FBiOSTargetConfigurationTests.m │ └── FBiOSTargetTests.m ├── FBDeviceControl ├── Commands │ ├── FBDeviceActivationCommands.h │ ├── FBDeviceActivationCommands.m │ ├── FBDeviceApplicationCommands.h │ ├── FBDeviceApplicationCommands.m │ ├── FBDeviceCommands.h │ ├── FBDeviceCommands.m │ ├── FBDeviceCrashLogCommands.h │ ├── FBDeviceCrashLogCommands.m │ ├── FBDeviceDebugSymbolsCommands.h │ ├── FBDeviceDebugSymbolsCommands.m │ ├── FBDeviceDebuggerCommands.h │ ├── FBDeviceDebuggerCommands.m │ ├── FBDeviceDeveloperDiskImageCommands.h │ ├── FBDeviceDeveloperDiskImageCommands.m │ ├── FBDeviceDiagnosticInformationCommands.h │ ├── FBDeviceDiagnosticInformationCommands.m │ ├── FBDeviceEraseCommands.h │ ├── FBDeviceEraseCommands.m │ ├── FBDeviceFileCommands.h │ ├── FBDeviceFileCommands.m │ ├── FBDeviceLifecycleCommands.h │ ├── FBDeviceLifecycleCommands.m │ ├── FBDeviceLocationCommands.h │ ├── FBDeviceLocationCommands.m │ ├── FBDeviceLogCommands.h │ ├── FBDeviceLogCommands.m │ ├── FBDevicePowerCommands.h │ ├── FBDevicePowerCommands.m │ ├── FBDeviceProvisioningProfileCommands.h │ ├── FBDeviceProvisioningProfileCommands.m │ ├── FBDeviceRecoveryCommands.h │ ├── FBDeviceRecoveryCommands.m │ ├── FBDeviceScreenshotCommands.h │ ├── FBDeviceScreenshotCommands.m │ ├── FBDeviceSocketForwardingCommands.h │ ├── FBDeviceSocketForwardingCommands.m │ ├── FBDeviceVideoRecordingCommands.h │ ├── FBDeviceVideoRecordingCommands.m │ ├── FBDeviceXCTestCommands.h │ └── FBDeviceXCTestCommands.m ├── FBDeviceControl-Info.plist ├── FBDeviceControl.h ├── FBDeviceControl.xcconfig ├── Management │ ├── FBAFCConnection.h │ ├── FBAFCConnection.m │ ├── FBAMDServiceConnection.h │ ├── FBAMDServiceConnection.m │ ├── FBAMDefines.h │ ├── FBAMDevice+Private.h │ ├── FBAMDevice.h │ ├── FBAMDevice.m │ ├── FBAMDeviceManager.h │ ├── FBAMDeviceManager.m │ ├── FBAMDeviceServiceManager.h │ ├── FBAMDeviceServiceManager.m │ ├── FBAMRestorableDevice.h │ ├── FBAMRestorableDevice.m │ ├── FBAMRestorableDeviceManager.h │ ├── FBAMRestorableDeviceManager.m │ ├── FBAppleDevicectlCommandExecutor.swift │ ├── FBDevice+Private.h │ ├── FBDevice.h │ ├── FBDevice.m │ ├── FBDeviceDebugServer.h │ ├── FBDeviceDebugServer.m │ ├── FBDeviceManager.h │ ├── FBDeviceManager.m │ ├── FBDeviceSet.h │ ├── FBDeviceSet.m │ ├── FBDeviceStorage.h │ ├── FBDeviceStorage.m │ ├── FBInstrumentsClient.h │ ├── FBInstrumentsClient.m │ ├── FBManagedConfigClient.h │ ├── FBManagedConfigClient.m │ ├── FBSpringboardServicesClient.h │ └── FBSpringboardServicesClient.m ├── README.md ├── Utility │ ├── FBDeviceControlError.h │ ├── FBDeviceControlError.m │ ├── FBDeviceControlFrameworkLoader.h │ ├── FBDeviceControlFrameworkLoader.m │ ├── FBDeviceLinkClient.h │ ├── FBDeviceLinkClient.m │ └── FileManager+TemporaryFile.swift └── Video │ ├── FBDeviceVideo.h │ ├── FBDeviceVideo.m │ ├── FBDeviceVideoStream.h │ └── FBDeviceVideoStream.m ├── FBDeviceControlTests ├── FBDeviceControlTests-Info.plist ├── FBDeviceControlTests.xcconfig └── Tests │ ├── Integration │ └── FBDeviceControlFrameworkLoaderTests.m │ └── Unit │ ├── FBAFCConnectionTests.m │ ├── FBAMDeviceTests.m │ └── FBDeviceXCTestCommandsTests.m ├── FBSimulatorControl.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── xcshareddata │ └── xcschemes │ ├── FBControlCore.xcscheme │ ├── FBDeviceControl.xcscheme │ ├── FBSimulatorControl.xcscheme │ └── XCTestBootstrap.xcscheme ├── FBSimulatorControl ├── Commands │ ├── FBSimulatorAccessibilityCommands.h │ ├── FBSimulatorAccessibilityCommands.m │ ├── FBSimulatorApplicationCommands.h │ ├── FBSimulatorApplicationCommands.m │ ├── FBSimulatorCrashLogCommands.h │ ├── FBSimulatorCrashLogCommands.m │ ├── FBSimulatorDapServerCommands.h │ ├── FBSimulatorDapServerCommands.m │ ├── FBSimulatorDebuggerCommands.h │ ├── FBSimulatorDebuggerCommands.m │ ├── FBSimulatorFileCommands.h │ ├── FBSimulatorFileCommands.m │ ├── FBSimulatorKeychainCommands.h │ ├── FBSimulatorKeychainCommands.m │ ├── FBSimulatorLaunchCtlCommands.h │ ├── FBSimulatorLaunchCtlCommands.m │ ├── FBSimulatorLifecycleCommands.h │ ├── FBSimulatorLifecycleCommands.m │ ├── FBSimulatorLocationCommands.h │ ├── FBSimulatorLocationCommands.m │ ├── FBSimulatorLogCommands.h │ ├── FBSimulatorLogCommands.m │ ├── FBSimulatorMediaCommands.h │ ├── FBSimulatorMediaCommands.m │ ├── FBSimulatorMemoryCommands.h │ ├── FBSimulatorMemoryCommands.m │ ├── FBSimulatorNotificationCommands.h │ ├── FBSimulatorNotificationCommands.m │ ├── FBSimulatorProcessSpawnCommands.h │ ├── FBSimulatorProcessSpawnCommands.m │ ├── FBSimulatorScreenshotCommands.h │ ├── FBSimulatorScreenshotCommands.m │ ├── FBSimulatorSettingsCommands.h │ ├── FBSimulatorSettingsCommands.m │ ├── FBSimulatorVideoRecordingCommands.h │ ├── FBSimulatorVideoRecordingCommands.m │ ├── FBSimulatorXCTestCommands.h │ └── FBSimulatorXCTestCommands.m ├── Configuration │ ├── FBSimulatorBootConfiguration.h │ ├── FBSimulatorBootConfiguration.m │ ├── FBSimulatorConfiguration+CoreSimulator.h │ ├── FBSimulatorConfiguration+CoreSimulator.m │ ├── FBSimulatorConfiguration.h │ ├── FBSimulatorConfiguration.m │ ├── FBSimulatorControlConfiguration.h │ └── FBSimulatorControlConfiguration.m ├── FBSimulatorControl-Info.plist ├── FBSimulatorControl.h ├── FBSimulatorControl.xcconfig ├── Framebuffer │ ├── FBFramebuffer.h │ ├── FBFramebuffer.m │ ├── FBSimulatorImage.h │ ├── FBSimulatorImage.m │ ├── FBSimulatorVideo.h │ ├── FBSimulatorVideo.m │ ├── FBSimulatorVideoStream.h │ ├── FBSimulatorVideoStream.m │ ├── FBSurfaceImageGenerator.h │ └── FBSurfaceImageGenerator.m ├── HID │ ├── FBSimulatorHID.h │ ├── FBSimulatorHID.m │ ├── FBSimulatorHIDEvent.h │ ├── FBSimulatorHIDEvent.m │ ├── FBSimulatorIndigoHID.h │ └── FBSimulatorIndigoHID.m ├── Management │ ├── FBAppleSimctlCommandExecutor.h │ ├── FBAppleSimctlCommandExecutor.m │ ├── FBSimulator+Private.h │ ├── FBSimulator.h │ ├── FBSimulator.m │ ├── FBSimulatorBridge.h │ ├── FBSimulatorBridge.m │ ├── FBSimulatorControl+PrincipalClass.h │ ├── FBSimulatorControl+PrincipalClass.m │ ├── FBSimulatorServiceContext.h │ ├── FBSimulatorServiceContext.m │ ├── FBSimulatorSet+Private.h │ ├── FBSimulatorSet.h │ └── FBSimulatorSet.m ├── Notifiers │ ├── FBCoreSimulatorNotifier.h │ └── FBCoreSimulatorNotifier.m ├── README.md ├── Strategies │ ├── FBDefaultsModificationStrategy.h │ ├── FBDefaultsModificationStrategy.m │ ├── FBSimulatorBootStrategy.h │ ├── FBSimulatorBootStrategy.m │ ├── FBSimulatorBootVerificationStrategy.h │ ├── FBSimulatorBootVerificationStrategy.m │ ├── FBSimulatorDeletionStrategy.h │ ├── FBSimulatorDeletionStrategy.m │ ├── FBSimulatorEraseStrategy.h │ ├── FBSimulatorEraseStrategy.m │ ├── FBSimulatorInflationStrategy.h │ ├── FBSimulatorInflationStrategy.m │ ├── FBSimulatorNotificationUpdateStrategy.h │ ├── FBSimulatorNotificationUpdateStrategy.m │ ├── FBSimulatorShutdownStrategy.h │ └── FBSimulatorShutdownStrategy.m └── Utility │ ├── FBSimulatorControlFrameworkLoader.h │ ├── FBSimulatorControlFrameworkLoader.m │ ├── FBSimulatorError.h │ ├── FBSimulatorError.m │ ├── FBSimulatorLaunchedApplication.h │ └── FBSimulatorLaunchedApplication.m ├── FBSimulatorControlTests ├── FBSimulatorControlTests-Info.plist ├── FBSimulatorControlTests.xcconfig ├── Fixtures │ ├── FBSimulatorControlFixtures.h │ ├── FBSimulatorControlFixtures.m │ ├── photo0.png │ ├── photo1.png │ └── video0.mp4 ├── Tests │ ├── Integration │ │ ├── FBSimulatorApplicationDataTests.m │ │ ├── FBSimulatorCrashLogTests.m │ │ ├── FBSimulatorFramebufferTests.m │ │ ├── FBSimulatorLaunchTests.m │ │ ├── FBSimulatorMediaCommandsTests.m │ │ ├── FBSimulatorSetTests.m │ │ └── FBSimulatorTestInjectionTests.m │ └── Unit │ │ ├── FBSimulatorApplicationDescriptorTests.m │ │ ├── FBSimulatorConfigurationTests.m │ │ └── FBSimulatorControlValueTypeTests.m └── Utilities │ ├── CoreSimulatorDoubles.h │ ├── CoreSimulatorDoubles.m │ ├── FBSimulatorControlAssertions.h │ ├── FBSimulatorControlAssertions.m │ ├── FBSimulatorControlTestCase.h │ ├── FBSimulatorControlTestCase.m │ ├── FBSimulatorSetTestCase.h │ └── FBSimulatorSetTestCase.m ├── Fixtures ├── Binaries │ ├── FBTestRunnerApp.app │ │ ├── FBTestRunnerApp │ │ ├── Frameworks │ │ │ ├── XCTAutomationSupport.framework │ │ │ │ ├── Info.plist │ │ │ │ ├── XCTAutomationSupport │ │ │ │ ├── XPCServices │ │ │ │ │ └── LogArchiveCollector.xpc │ │ │ │ │ │ ├── Info.plist │ │ │ │ │ │ ├── LogArchiveCollector │ │ │ │ │ │ ├── _CodeSignature │ │ │ │ │ │ └── CodeResources │ │ │ │ │ │ └── version.plist │ │ │ │ ├── _CodeSignature │ │ │ │ │ └── CodeResources │ │ │ │ └── version.plist │ │ │ └── XCTest.framework │ │ │ │ ├── Info.plist │ │ │ │ ├── XCTest │ │ │ │ ├── _CodeSignature │ │ │ │ └── CodeResources │ │ │ │ ├── en.lproj │ │ │ │ └── InfoPlist.strings │ │ │ │ └── version.plist │ │ ├── Info.plist │ │ ├── PkgInfo │ │ └── _CodeSignature │ │ │ └── CodeResources │ ├── MacAppFixture.app │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── MacOS │ │ │ └── MacAppFixture │ │ │ ├── PkgInfo │ │ │ ├── Resources │ │ │ └── Base.lproj │ │ │ │ └── MainMenu.nib │ │ │ └── _CodeSignature │ │ │ └── CodeResources │ ├── MacAppUITestsFixture.xctest │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── MacOS │ │ │ └── MacAppUITestsFixture │ │ │ └── _CodeSignature │ │ │ └── CodeResources │ ├── MacCommonApp.app │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── MacOS │ │ │ └── MacCommonApp │ │ │ ├── PkgInfo │ │ │ └── _CodeSignature │ │ │ └── CodeResources │ ├── MacUnitTestFixture.xctest │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── MacOS │ │ │ └── MacUnitTestFixture │ │ │ └── _CodeSignature │ │ │ └── CodeResources │ ├── TableSearch.app │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboardc │ │ │ │ ├── Info.plist │ │ │ │ ├── UINavigationController-Mpu-gp-ECv.nib │ │ │ │ └── VNu-yS-PhO-view-ZEs-tw-jfE.nib │ │ │ ├── MainStoryboard.storyboardc │ │ │ │ ├── 4Ax-ex-6Gm-view-y0T-Np-Hyb.nib │ │ │ │ ├── APLDetailViewController.nib │ │ │ │ ├── APLMainTableViewController.nib │ │ │ │ ├── Info.plist │ │ │ │ ├── RootNavController.nib │ │ │ │ └── gen-ib-Cgz-view-8hD-Hr-uqh.nib │ │ │ └── TableCell.nib │ │ ├── Info.plist │ │ ├── PkgInfo │ │ ├── TableSearch │ │ └── _CodeSignature │ │ │ └── CodeResources │ ├── iOSAppFixture.app │ │ ├── Base.lproj │ │ │ └── Main.storyboardc │ │ │ │ ├── A0G-T4-NTt-view-k7C-Uz-6I5.nib │ │ │ │ ├── BYZ-38-t0r-view-8bC-Xf-vdC.nib │ │ │ │ ├── Info.plist │ │ │ │ ├── UIViewController-A0G-T4-NTt.nib │ │ │ │ └── UIViewController-BYZ-38-t0r.nib │ │ ├── Info.plist │ │ ├── PkgInfo │ │ ├── _CodeSignature │ │ │ └── CodeResources │ │ └── iOSAppFixture │ ├── iOSAppFixtureAppTests.xctest │ │ ├── Info.plist │ │ ├── _CodeSignature │ │ │ └── CodeResources │ │ └── iOSAppFixtureAppTests │ ├── iOSAppUITestFixture.xctest │ │ ├── Info.plist │ │ ├── _CodeSignature │ │ │ └── CodeResources │ │ └── iOSAppUITestFixture │ └── iOSUnitTestFixture.xctest │ │ ├── Info.plist │ │ ├── _CodeSignature │ │ └── CodeResources │ │ └── iOSUnitTestFixture ├── Media │ └── image.png └── Source │ ├── FBTestRunnerApp │ └── Info.plist │ ├── Fixtures.xcodeproj │ ├── project.pbxproj │ └── xcshareddata │ │ └── xcschemes │ │ ├── MacUnitTestFixture.xcscheme │ │ └── iOSUnitTestFixture.xcscheme │ ├── MacCommonApp │ ├── Info.plist │ └── main.m │ ├── MacUITestFixture │ ├── App │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── MainMenu.xib │ │ ├── Info.plist │ │ └── main.m │ └── Tests │ │ ├── Info.plist │ │ └── MacUITestFixtureUITests.m │ ├── MacUnitTestFixture │ ├── Info.plist │ ├── MacUnitTestFixture.xcconfig │ └── MacUnitTestFixtureTests.m │ ├── fetch_deps.sh │ ├── iOSUITestFixture │ ├── App │ │ ├── Base.lproj │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ └── main.m │ ├── Tests │ │ ├── Info.plist │ │ └── iOSUITestFixtureUITests.m │ └── iOSAppFixtureAppTests │ │ ├── Info.plist │ │ └── iOSAppFixtureAppTests.m │ └── iOSUnitTestFixture │ ├── Info.plist │ ├── iOSUnitTestFixture.xcconfig │ └── iOSUnitTestFixtureTests.m ├── IDBCompanionUtilities ├── Atomic.swift ├── CodeLocation.swift ├── FBTeardownContext.swift ├── FIFOStreamWriter.swift ├── Mutex.swift ├── TaskSelect.swift └── TaskTimeout.swift ├── IDBCompanionUtilitiesTests ├── AtomicTests.swift ├── FIFOStreamWriterTests.swift └── Mocks │ └── MockStreamWriter.swift ├── LICENSE ├── PrivateHeaders ├── AXRuntime │ └── AXTraits.h ├── AccessibilityPlatformTranslation │ ├── AXPMacPlatformElement.h │ ├── AXPTranslationElementProtocol-Protocol.h │ ├── AXPTranslationObject.h │ ├── AXPTranslator.h │ ├── AXPTranslatorRequest.h │ ├── AXPTranslatorResponse.h │ ├── AXPTranslator_iOS.h │ ├── AXPTranslator_macOS.h │ ├── AXPiOSElementData.h │ ├── CDStructures.h │ ├── NSAccessibilityCustomElementDataProvider-Protocol.h │ ├── NSAccessibilityCustomRotor-Private.h │ ├── NSAccessibilityCustomRotorItemSearchDelegate-Protocol.h │ ├── NSAccessibilityElement-Protocol.h │ ├── NSCoding-Protocol.h │ ├── NSCopying-Protocol.h │ ├── NSObject-Protocol.h │ └── NSSecureCoding-Protocol.h ├── CoreSimulator │ ├── CDStructures.h │ ├── CoreSimulator+BlockDefines.h │ ├── DefaultDisplayDescriptorState.h │ ├── FoundationXPCProtocolProxyable-Protocol.h │ ├── NSArray-SimArgv.h │ ├── NSCoding-Protocol.h │ ├── NSDictionary-SimEnvp.h │ ├── NSDictionary-SimSaveWithError.h │ ├── NSError-SimError.h │ ├── NSFileManager-CoreSimulator.h │ ├── NSKeyedArchiver-SimPasteboardItem.h │ ├── NSKeyedArchiver-SimSecurely.h │ ├── NSKeyedUnarchiver-SimPasteboardItem.h │ ├── NSKeyedUnarchiver-SimSecurely.h │ ├── NSPasteboardItem-SimPasteboardItem.h │ ├── NSPasteboardItemDataProvider-Protocol.h │ ├── NSSecureCoding-Protocol.h │ ├── NSString-SIMCPUType.h │ ├── NSString-SIMPackedVersion.h │ ├── NSString-SimServiceContextExtras.h │ ├── NSUserDefaults-SimDefaults.h │ ├── SimDevice+Removed.h │ ├── SimDevice.h │ ├── SimDeviceBootInfo.h │ ├── SimDeviceIO.h │ ├── SimDeviceIOClient.h │ ├── SimDeviceIOInterface-Protocol.h │ ├── SimDeviceIOLoadedBundle.h │ ├── SimDeviceIOPortConsumer-Protocol.h │ ├── SimDeviceIOPortDescriptorState-Protocol.h │ ├── SimDeviceIOProtocol-Protocol.h │ ├── SimDeviceIOServer.h │ ├── SimDeviceNotificationManager.h │ ├── SimDeviceNotifier-Protocol.h │ ├── SimDevicePair.h │ ├── SimDevicePasteboard.h │ ├── SimDevicePasteboardConnection.h │ ├── SimDevicePasteboardItem.h │ ├── SimDeviceSet+Removed.h │ ├── SimDeviceSet.h │ ├── SimDeviceType+Removed.h │ ├── SimDeviceType.h │ ├── SimDisplayDefaultDescriptorState.h │ ├── SimDisplayDescriptorState-Protocol.h │ ├── SimLocalThrowable.h │ ├── SimMachPortServer.h │ ├── SimNSPasteboard.h │ ├── SimNSPasteboardItem.h │ ├── SimPasteboard-Protocol.h │ ├── SimPasteboardItem.h │ ├── SimPasteboardItemData.h │ ├── SimPasteboardItemDataProvider-Protocol.h │ ├── SimPasteboardItemWrappedData.h │ ├── SimPasteboardPortMap.h │ ├── SimPasteboardSyncPool.h │ ├── SimPasteboardSyncPoolObject.h │ ├── SimPasteboardSyncPoolProtocol-Protocol.h │ ├── SimProfilesPathMonitor.h │ ├── SimRuntime+Removed.h │ ├── SimRuntime.h │ ├── SimRuntimePairingReuirements.h │ └── SimServiceContext.h ├── DTXConnectionServices │ ├── CDStructures.h │ ├── DTXAllowedRPC-Protocol.h │ ├── DTXBlockCompressor-Protocol.h │ ├── DTXBlockCompressorFactory.h │ ├── DTXBlockCompressorLibCompression.h │ ├── DTXBlockCompressorLibFastCompression.h │ ├── DTXChannel.h │ ├── DTXConnection.h │ ├── DTXConnectionRemoteReceiveQueueCalls-Protocol.h │ ├── DTXDecompressionException.h │ ├── DTXFileDescriptorTransport.h │ ├── DTXFoundationURLTransport.h │ ├── DTXLegacyBufferMessage.h │ ├── DTXLegacyCompactDictionaryAdapter.h │ ├── DTXLegacyDictionaryMessage.h │ ├── DTXLegacyMessageParser.h │ ├── DTXLegacyMessageTransmitter.h │ ├── DTXLegacyServiceQueueAdapter.h │ ├── DTXMachTransport.h │ ├── DTXMessage.h │ ├── DTXMessageParser.h │ ├── DTXMessageParsingBuffer.h │ ├── DTXMessageTransmitter.h │ ├── DTXMessenger-Protocol.h │ ├── DTXProxyChannel.h │ ├── DTXRateLimiter-Protocol.h │ ├── DTXRemoteInvocationReceipt.h │ ├── DTXResourceTracker.h │ ├── DTXSendAndWaitRateLimiter.h │ ├── DTXSendAndWaitStats.h │ ├── DTXService.h │ ├── DTXSharedMemoryTransport.h │ ├── DTXSocketTransport.h │ ├── DTXTransport.h │ └── _DTXProxy.h ├── SimulatorApp │ ├── Indigo.h │ ├── Mach.h │ └── Purple.h ├── SimulatorBridge │ ├── AXPTranslationRuntimeHelper-Protocol.h │ ├── SimulatorBridge-Protocol.h │ └── SimulatorBridge.h ├── SimulatorKit │ ├── FoundationXPCProtocolProxyable-Protocol.h │ ├── SimDeviceBootInfo-SimulatorKit.h │ ├── SimDeviceFramebufferService.h │ ├── SimDeviceIOPortConsumer-Protocol.h │ ├── SimDeviceIOPortDescriptorState-Protocol.h │ ├── SimDeviceIOPortInterface-Protocol.h │ ├── SimDeviceIOProtocol-Protocol.h │ ├── SimDeviceLegacyClient.h │ ├── SimDeviceMenu.h │ ├── SimDeviceMenuItemPair.h │ ├── SimDeviceNotifier-Protocol.h │ ├── SimDisplayConsoleDebugger.h │ ├── SimDisplayDamageRectangleDelegate-Protocol.h │ ├── SimDisplayDescriptorState-Protocol.h │ ├── SimDisplayIOSurfaceRenderable-Protocol.h │ ├── SimDisplayIOSurfaceRenderableDelegate-Protocol.h │ ├── SimDisplayRenderable-Protocol.h │ ├── SimDisplayResizeableRenderable-Protocol.h │ ├── SimDisplayRotationAngleDelegate-Protocol.h │ ├── SimDisplayVideoWriter+Removed.h │ ├── SimDisplayVideoWriter.h │ ├── SimVideoFile.h │ ├── SimVideoFragmentedMP4File.h │ ├── SimVideoH264File.h │ ├── SimVideoMP4File.h │ └── SimVideoQuicktimeFormat.h └── XCTestPrivate │ ├── DTXConnection-XCTestAdditions.h │ ├── DTXProxyChannel-XCTestAdditions.h │ ├── XCActivityRecord.h │ ├── XCTAttachment.h │ ├── XCTCapabilities.h │ ├── XCTCapabilitiesBuilder.h │ ├── XCTIssue.h │ ├── XCTMessagingChannel_DaemonRecorderToIDE-Protocol.h │ ├── XCTMessagingChannel_DaemonToIDE-Protocol.h │ ├── XCTMessagingChannel_DaemonToIDE_All-Protocol.h │ ├── XCTMessagingChannel_DaemonToRunner-Protocol.h │ ├── XCTMessagingChannel_IDEToDaemon-Protocol.h │ ├── XCTMessagingChannel_IDEToRunner-Protocol.h │ ├── XCTMessagingChannel_RunnerToDaemon-Protocol.h │ ├── XCTMessagingChannel_RunnerToIDE-Protocol.h │ ├── XCTMessagingChannel_RunnerToUIProcess-Protocol.h │ ├── XCTMessagingRole_AccessibilityNotificationReporting-Protocol.h │ ├── XCTMessagingRole_ActivityReporting-Protocol.h │ ├── XCTMessagingRole_ActivityReporting_Legacy-Protocol.h │ ├── XCTMessagingRole_BundleRequesting-Protocol.h │ ├── XCTMessagingRole_CapabilityExchange-Protocol.h │ ├── XCTMessagingRole_ControlSessionInitiation-Protocol.h │ ├── XCTMessagingRole_CrashReporting-Protocol.h │ ├── XCTMessagingRole_DebugLogging-Protocol.h │ ├── XCTMessagingRole_DiagnosticsCollection-Protocol.h │ ├── XCTMessagingRole_EventSynthesis-Protocol.h │ ├── XCTMessagingRole_ForcePressureSupportQuerying-Protocol.h │ ├── XCTMessagingRole_MemoryTesting-Protocol.h │ ├── XCTMessagingRole_PerformanceMeasurementReporting-Protocol.h │ ├── XCTMessagingRole_PerformanceMeasurementReporting_Legacy-Protocol.h │ ├── XCTMessagingRole_ProcessMonitoring-Protocol.h │ ├── XCTMessagingRole_ProtectedResourceAuthorization-Protocol.h │ ├── XCTMessagingRole_RunnerSessionInitiation-Protocol.h │ ├── XCTMessagingRole_SelfDiagnosisIssueReporting-Protocol.h │ ├── XCTMessagingRole_SiriAutomation-Protocol.h │ ├── XCTMessagingRole_TestExecution-Protocol.h │ ├── XCTMessagingRole_TestExecution_Legacy-Protocol.h │ ├── XCTMessagingRole_TestReporting-Protocol.h │ ├── XCTMessagingRole_TestReporting_Legacy-Protocol.h │ ├── XCTMessagingRole_UIApplicationStateUpdating-Protocol.h │ ├── XCTMessagingRole_UIAutomation-Protocol.h │ ├── XCTMessagingRole_UIAutomationEventReporting-Protocol.h │ ├── XCTMessagingRole_UIAutomationProcess-Protocol.h │ ├── XCTMessagingRole_UIRecordingControl-Protocol.h │ ├── XCTTestIdentifier.h │ ├── XCTTestIdentifierSet.h │ ├── XCTTestIdentifierSetBuilder.h │ ├── XCTestConfiguration.h │ ├── XCTestDriverInterface-Protocol.h │ ├── XCTestManager_DaemonConnectionInterface-Protocol.h │ ├── XCTestManager_IDEInterface-Protocol.h │ ├── XCTestManager_ManagerInterface-Protocol.h │ ├── XCTestManager_TestsInterface-Protocol.h │ └── _XCTMessaging_VoidProtocol-Protocol.h ├── README.md ├── Shims ├── Binaries │ └── .empty └── Shimulator │ ├── Configs │ ├── Maculator.xcconfig │ └── Shimulator.xcconfig │ ├── Shimulator.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata │ ├── TestCrashShim │ └── TestCrashShim.m │ ├── TestLoadingShim │ ├── FBXCTestMain.h │ └── FBXCTestMain.m │ ├── TestReporterShim │ └── XCTestReporterShim.m │ └── Tools │ ├── FBDebugLog.h │ ├── FBDebugLog.m │ ├── FBRuntimeTools.h │ ├── FBRuntimeTools.m │ ├── FBXCTestConstants.h │ ├── XCTestCaseHelpers.h │ ├── XCTestCaseHelpers.m │ ├── XCTestPrivate.h │ ├── XTSwizzle.h │ └── XTSwizzle.m ├── XCTestBootstrap ├── Configuration │ ├── FBCodeCoverageConfiguration.h │ ├── FBCodeCoverageConfiguration.m │ ├── FBTestConfiguration.h │ ├── FBTestConfiguration.m │ ├── FBTestRunnerConfiguration.h │ ├── FBTestRunnerConfiguration.m │ ├── FBXCTestConfiguration.h │ └── FBXCTestConfiguration.m ├── MacStrategies │ ├── FBMacDevice.h │ ├── FBMacDevice.m │ ├── FBMacLaunchedApplication.h │ └── FBMacLaunchedApplication.m ├── README.md ├── Reporters │ ├── FBExceptionInfo.h │ ├── FBExceptionInfo.m │ ├── FBJSONTestReporter.h │ ├── FBJSONTestReporter.m │ ├── FBLogicReporterAdapter.h │ ├── FBLogicReporterAdapter.m │ ├── FBLogicXCTestReporter.h │ └── FBXCTestReporter.h ├── Strategies │ ├── FBListTestStrategy.h │ ├── FBListTestStrategy.m │ ├── FBLogicTestRunStrategy.h │ ├── FBLogicTestRunStrategy.m │ ├── FBManagedTestRunStrategy.h │ ├── FBManagedTestRunStrategy.m │ ├── FBXCTestProcess.h │ └── FBXCTestProcess.m ├── TestManager │ ├── FBActivityRecord.h │ ├── FBActivityRecord.m │ ├── FBAttachment.h │ ├── FBAttachment.m │ ├── FBTestBundleConnection.h │ ├── FBTestBundleConnection.m │ ├── FBTestManagerAPIMediator.h │ ├── FBTestManagerAPIMediator.m │ ├── FBTestManagerContext.h │ ├── FBTestManagerContext.m │ ├── FBTestManagerResultSummary.h │ ├── FBTestManagerResultSummary.m │ ├── FBTestReporterAdapter.h │ └── FBTestReporterAdapter.m ├── Utility │ ├── FBOToolDynamicLibs.h │ ├── FBOToolDynamicLibs.m │ ├── FBOToolOperation.h │ ├── FBOToolOperation.m │ ├── FBXCTestLogger.h │ ├── FBXCTestLogger.m │ ├── FBXCTestResultBundleParser.h │ ├── FBXCTestResultBundleParser.m │ ├── FBXCTestResultToolOperation.h │ ├── FBXCTestResultToolOperation.m │ ├── FBXCTestRunner.h │ ├── FBXcodeBuildOperation.h │ ├── FBXcodeBuildOperation.m │ ├── XCTestBootstrapError.h │ ├── XCTestBootstrapError.m │ ├── XCTestBootstrapFrameworkLoader.h │ └── XCTestBootstrapFrameworkLoader.m ├── XCTestBootstrap-Info.plist ├── XCTestBootstrap.h └── XCTestBootstrap.xcconfig ├── XCTestBootstrapTests ├── Fixtures │ ├── FBXCTestBootstrapFixtures.h │ ├── FBXCTestBootstrapFixtures.m │ ├── FBXCTestReporterDouble.h │ └── FBXCTestReporterDouble.m ├── Tests │ ├── FBJSONTestReporterTests.m │ ├── FBLogicReporterAdapterTests.m │ ├── FBMacDeviceTests.m │ ├── FBTestConfigurationTests.m │ ├── FBTestRunnerConfigurationTests.m │ └── FBXcodeBuildOperationTests.m ├── XCTestBootstrapTests-Info.plist └── XCTestBootstrapTests.xcconfig ├── build.sh ├── docker-compose.yml ├── fbxctest ├── Documentation │ └── Details.md ├── FBXCTestKit │ ├── FBXCTestKit.xcconfig │ └── Info.plist ├── FBXCTestKitTests │ ├── FBXCTestKitTests.xcconfig │ ├── Fixtures │ │ ├── FBXCTestKitFixtures.h │ │ └── FBXCTestKitFixtures.m │ ├── Info.plist │ ├── Tests │ │ ├── Integration │ │ │ └── FBXCTestKitIntegrationTests.m │ │ └── Unit │ │ │ ├── FBOSXLogicTestConfigurationTests.m │ │ │ ├── FBOSXUITestConfigurationTests.m │ │ │ ├── FBiOSApplicationTestConfigurationTests.m │ │ │ ├── FBiOSLogicTestConfigurationTests.m │ │ │ └── FBiOSUITestConfigurationTests.m │ └── Utilities │ │ ├── XCTestCase+FBXCTestKitTests.h │ │ └── XCTestCase+FBXCTestKitTests.m ├── README.md ├── fbxctest.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcshareddata │ │ └── xcschemes │ │ └── fbxctest.xcscheme ├── fbxctest.xcworkspace │ └── contents.xcworkspacedata └── fbxctest │ └── fbxctest.xcconfig ├── idb ├── __init__.py ├── cli │ ├── __init__.py │ ├── commands │ │ ├── __init__.py │ │ ├── accessibility.py │ │ ├── app.py │ │ ├── approve.py │ │ ├── contacts.py │ │ ├── crash.py │ │ ├── daemon.py │ │ ├── dap.py │ │ ├── debugserver.py │ │ ├── dsym.py │ │ ├── dylib.py │ │ ├── file.py │ │ ├── focus.py │ │ ├── framework.py │ │ ├── hid.py │ │ ├── instruments.py │ │ ├── keychain.py │ │ ├── kill.py │ │ ├── launch.py │ │ ├── location.py │ │ ├── log.py │ │ ├── media.py │ │ ├── memory.py │ │ ├── notification.py │ │ ├── revoke.py │ │ ├── screenshot.py │ │ ├── settings.py │ │ ├── shell.py │ │ ├── target.py │ │ ├── url.py │ │ ├── video.py │ │ ├── xctest.py │ │ └── xctrace.py │ ├── main.py │ └── tests │ │ ├── __init__.py │ │ ├── connect_tests.py │ │ └── parser_tests.py ├── common │ ├── __init__.py │ ├── args.py │ ├── command.py │ ├── companion.py │ ├── companion_set.py │ ├── constants.py │ ├── file.py │ ├── format.py │ ├── gzip.py │ ├── hid.py │ ├── logging.py │ ├── misc.py │ ├── networking.py │ ├── plugin.py │ ├── signal.py │ ├── stream.py │ ├── tar.py │ ├── tests │ │ ├── __init__.py │ │ ├── companion_set_tests.py │ │ ├── companion_tests.py │ │ ├── format_tests.py │ │ ├── networking_tests.py │ │ ├── tar_tests.py │ │ └── udid_tests.py │ ├── types.py │ └── udid.py ├── grpc │ ├── __init__.py │ ├── client.py │ ├── crash.py │ ├── dap.py │ ├── file.py │ ├── hid.py │ ├── install.py │ ├── instruments.py │ ├── launch.py │ ├── management.py │ ├── stream.py │ ├── target.py │ ├── tests │ │ ├── hid_tests.py │ │ ├── target_tests.py │ │ ├── xctest_log_parser.py │ │ └── xctest_tests.py │ ├── video.py │ ├── xctest.py │ ├── xctest_log_parser.py │ └── xctrace.py └── utils │ ├── __init__.py │ ├── contextlib.py │ ├── testing.py │ └── typing.py ├── idb_build.sh ├── idb_companion.xcodeproj ├── project.pbxproj └── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ └── IDEWorkspaceChecks.plist ├── idb_companion.xcworkspace ├── contents.xcworkspacedata └── xcshareddata │ └── IDEWorkspaceChecks.plist ├── idb_companion ├── Bridging │ └── idb_companion-Bridging-Header.h ├── Configuration │ ├── DefaultConfiguration.swift │ ├── EmptyEventReporter.swift │ ├── FBInternGraphError.swift │ ├── GatekeeperReader.swift │ ├── IDBConfiguration.swift │ ├── IDBKillswitch.swift │ ├── IDBKillswitchBridge.swift │ ├── IDBPortsConfiguration.swift │ ├── Private │ │ ├── FBApplicationBasedGatekeeperRequestor.swift │ │ ├── FBApplicationBasedSitevarRequestor.swift │ │ ├── InternGraphCachableReader.swift │ │ └── InternGraphRequestor.swift │ └── SitevarReader.swift ├── Info.plist ├── Reporting │ ├── FBiOSTargetDescription.h │ └── FBiOSTargetDescription.m ├── SwiftServer │ ├── CompanionServiceProvider.swift │ ├── GRPCSwiftServer.swift │ ├── GRPCSwiftServerErrorDelegate.swift │ ├── Interceptors │ │ ├── CompanionServiceInterceptors.swift │ │ ├── LoggingInterceptor.swift │ │ └── MethodPathSetterInterceptor.swift │ ├── MethodHandlers │ │ ├── AccessibilityInfoMethodHandler.swift │ │ ├── AddMediaMethodHandler.swift │ │ ├── ApproveMethodHandler.swift │ │ ├── ClearKeychainMethodHandler.swift │ │ ├── ConnectMethodHandler.swift │ │ ├── ContactsUpdateMethodHandler.swift │ │ ├── CrashDeleteMethodHandler.swift │ │ ├── CrashListMethodHandler.swift │ │ ├── CrashShowMethodHandler.swift │ │ ├── DapMethodHandler.swift │ │ ├── DebugserverMethodHandler.swift │ │ ├── DescribeMethodHandler.swift │ │ ├── FocusMethodHandler.swift │ │ ├── GetSettingMethodHandler.swift │ │ ├── HidMethodHandler.swift │ │ ├── InstallMethodHandler.swift │ │ ├── InstrumentsRunMethodHandler.swift │ │ ├── LaunchMethodHandler.swift │ │ ├── ListAppsMethodHandler.swift │ │ ├── ListSettingsMethodHandler.swift │ │ ├── LogMethodHandler.swift │ │ ├── LsMethodHandler.swift │ │ ├── MkdirMethodHandler.swift │ │ ├── MvMethodHandler.swift │ │ ├── OpenUrlMethodHandler.swift │ │ ├── PullMethodHandler.swift │ │ ├── PushMethodHandler.swift │ │ ├── RecordMethodHandler.swift │ │ ├── RevokeMethodHandler.swift │ │ ├── RmMethodHandler.swift │ │ ├── ScreenshotMethodHandler.swift │ │ ├── SendNotificationMethodHandler.swift │ │ ├── SetLocationMethodHandler.swift │ │ ├── SettingMethodHandler.swift │ │ ├── SimulateMemoryWarningMethodHandler.swift │ │ ├── TailMethodHandler.swift │ │ ├── TerminateMethodHandler.swift │ │ ├── UninstallMethodHandler.swift │ │ ├── VideoStreamMethodHandler.swift │ │ ├── XCTestListBundlesMethodHandler.swift │ │ ├── XCTestListTestsMethodHandler.swift │ │ ├── XCTestRunMethodHandler.swift │ │ └── XctraceRecordMethodHandler.swift │ └── ValueTransformers │ │ ├── CrashLogInfoValueTransformer.swift │ │ ├── CrashLogQueryValueTransformer.swift │ │ ├── FileContainerValueTransformer.swift │ │ └── GrpcDataMappings.swift ├── Utility │ ├── AsyncSequence+Extension.swift │ ├── FBControlCoreError+Extension.swift │ ├── FBIDBXCTestReporter.h │ ├── FBiOSTargetStateChangeNotifier.h │ ├── FBiOSTargetStateChangeNotifier.m │ ├── FileDrainWriter.swift │ ├── GRPCAsyncResponseStreamWriter+AsyncStreamWriter.swift │ ├── IDBXCTestReporter │ │ └── IDBXCTestReporter.swift │ ├── MultisourceFileReader.swift │ └── TaskFBFuture.swift └── main.m ├── idb_companion_oss_release.py ├── proto └── idb.proto ├── protoc_compiler_template.py ├── setup.py └── website ├── .gitignore ├── docs ├── accessibility.mdx ├── architecture.mdx ├── commands.mdx ├── development.mdx ├── faqs.mdx ├── fbdevicecontrol.mdx ├── fbsimulatorcontrol.mdx ├── file-containers.mdx ├── guided-tour.mdx ├── installation.mdx ├── overview.mdx ├── test-execution.mdx └── video.mdx ├── docusaurus.config.js ├── package.json ├── sidebars.js ├── src └── pages │ ├── index.js │ └── styles.module.css ├── static ├── CNAME ├── idb_demo.mov └── img │ ├── docusaurus.svg │ ├── favicon.png │ ├── favicon │ └── favicon.ico │ ├── idb_architecture.png │ ├── idb_icon.jpg │ ├── idb_icon.svg │ ├── idb_logo.jpg │ ├── idb_logo.svg │ └── oss_logo.png └── yarn.lock /.dockerignore: -------------------------------------------------------------------------------- 1 | */node_modules 2 | *.log 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | We use GitHub Issues for bugs. 2 | 3 | --- Please use this template, and delete everything above this line before submitting your issue --- 4 | 5 | ### Description 6 | 7 | [FILL THIS OUT: Explain what you did, what you expected to happen, and what actually happens.] 8 | 9 | ### Reproduction 10 | 11 | [FILL THIS OUT: How can we reproduce the bug? Provide logs for the client and server.] 12 | 13 | ### Solution 14 | 15 | [OPTIONAL: Do you know what needs to be done to address this issue? Ideally, provide a pull request which fixes this issue.] 16 | 17 | ### Additional Information 18 | 19 | * `idb` revision: [FILL THIS OUT] 20 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 11 | 12 | ## Motivation 13 | 14 | (Write your motivation here.) 15 | 16 | ## Test Plan 17 | 18 | (Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. Bonus points for screenshots and videos!) 19 | 20 | ## Related PRs 21 | 22 | (If this PR adds or changes functionality, please take some time to update the docs at https://github.com/facebook/idb, and link to your PR here.) 23 | -------------------------------------------------------------------------------- /.github/workflows/build_and_deploy.yml: -------------------------------------------------------------------------------- 1 | name: facebook/idb/build_and_deploy 2 | on: 3 | push: 4 | branches: 5 | - main 6 | jobs: 7 | deploy-website: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v4.1.0 11 | - uses: actions/setup-node@v4 12 | with: 13 | node-version: 20 14 | - name: Deploying to GitHub Pages 15 | run: | 16 | git config --global user.email "docusaurus-bot@users.noreply.github.com" 17 | git config --global user.name "Website Deployment Script" 18 | echo "machine github.com login docusaurus-bot password ${{ secrets.GITHUB_TOKEN }}" > ~/.netrc 19 | echo "Deploying website..." 20 | cd website && yarn install && GIT_USER=docusaurus-bot USE_SSH=false yarn deploy 21 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: objective-c 2 | before_install: 3 | - brew install python3 4 | - gem install xcpretty --no-document 5 | matrix: 6 | include: 7 | - os: osx 8 | osx_image: xcode12.2 9 | env: TARGET=framework COMMAND=test FBSIMULATORCONTROL_DEVICE_SET=custom FBSIMULATORCONTROL_LAUNCH_TYPE=direct 10 | - os: osx 11 | osx_image: xcode12.2 12 | env: TARGET=fbxctest COMMAND=test 13 | script: ./build.sh 14 | branches: 15 | only: 16 | - main 17 | - travis 18 | -------------------------------------------------------------------------------- /CompanionLib/Configuration/FBIDBAppHostedTestConfiguration.m: -------------------------------------------------------------------------------- 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 "FBIDBAppHostedTestConfiguration.h" 9 | 10 | #import 11 | 12 | @implementation FBIDBAppHostedTestConfiguration 13 | 14 | - (instancetype)initWithTestLaunchConfiguration:(FBTestLaunchConfiguration *)testLaunchConfiguration coverageConfiguration:(nullable FBCodeCoverageConfiguration *)coverageConfiguration 15 | { 16 | self = [super init]; 17 | if (!self) { 18 | return nil; 19 | } 20 | 21 | _testLaunchConfiguration = testLaunchConfiguration; 22 | _coverageConfiguration = coverageConfiguration; 23 | 24 | return self; 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /CompanionLib/Reporting/FBIDBError.h: -------------------------------------------------------------------------------- 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 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | /** 14 | The Error Domain for idb. 15 | */ 16 | extern NSString *const FBIDBErrorDomain; 17 | 18 | /** 19 | Helpers for constructing Errors representing errors in idb & adding additional diagnosis. 20 | */ 21 | @interface FBIDBError : FBControlCoreError 22 | 23 | @end 24 | 25 | NS_ASSUME_NONNULL_END 26 | -------------------------------------------------------------------------------- /CompanionLib/Reporting/FBIDBError.m: -------------------------------------------------------------------------------- 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 "FBIDBError.h" 9 | 10 | NSString *const FBIDBErrorDomain = @"com.facebook.idb"; 11 | 12 | @implementation FBIDBError 13 | 14 | - (instancetype)init 15 | { 16 | self = [super init]; 17 | if (!self) { 18 | return nil; 19 | } 20 | 21 | [self inDomain:FBIDBErrorDomain]; 22 | 23 | return self; 24 | } 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /CompanionLib/Request/FBCodeCoverageRequest.m: -------------------------------------------------------------------------------- 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 "FBCodeCoverageRequest.h" 9 | 10 | @implementation FBCodeCoverageRequest 11 | 12 | - (instancetype)initWithCollect:(BOOL)collect format:(FBCodeCoverageFormat)format enableContinuousCoverageCollection:(BOOL)enableContinuousCoverageCollection 13 | { 14 | self = [super init]; 15 | if (!self) { 16 | return nil; 17 | } 18 | 19 | _collect = collect; 20 | _format = format; 21 | _shouldEnableContinuousCoverageCollection = enableContinuousCoverageCollection; 22 | return self; 23 | } 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /CompanionLib/Request/FBDsymInstallLinkToBundle.m: -------------------------------------------------------------------------------- 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 "FBDsymInstallLinkToBundle.h" 9 | 10 | @implementation FBDsymInstallLinkToBundle 11 | 12 | - (instancetype)initWith:(NSString *)bundle_id bundle_type:(FBDsymBundleType)bundle_type 13 | { 14 | self = [super init]; 15 | if (!self) { 16 | return nil; 17 | } 18 | 19 | _bundle_id = bundle_id; 20 | _bundle_type = bundle_type; 21 | 22 | return self; 23 | } 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:8.11.4 2 | 3 | WORKDIR /app/website 4 | 5 | EXPOSE 3000 35729 6 | COPY ./docs /app/docs 7 | COPY ./website /app/website 8 | RUN yarn install 9 | 10 | CMD ["yarn", "start"] 11 | -------------------------------------------------------------------------------- /FBControlCore/Commands/FBDapServerCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | #import 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | @class FBProcessInput; 15 | 16 | @protocol FBDataConsumer; 17 | 18 | @protocol FBDapServerCommand 19 | 20 | - (FBFuture, NSString *> *> *) launchDapServer:dapPath stdIn:(FBProcessInput *)stdIn stdOut:(id)stdOut; 21 | 22 | @end 23 | 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /FBControlCore/Commands/FBDiagnosticInformationCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | /** 13 | Commands related to fetching diagnostic information 14 | */ 15 | @protocol FBDiagnosticInformationCommands 16 | 17 | /** 18 | Fetches JSON-Serializable Diagnostic Information 19 | 20 | @return A future that resolves with the Diagnostic Information. 21 | */ 22 | - (FBFuture *> *)fetchDiagnosticInformation; 23 | 24 | @end 25 | 26 | NS_ASSUME_NONNULL_END 27 | -------------------------------------------------------------------------------- /FBControlCore/Commands/FBEraseCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | #import 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | /** 16 | Defines an interface for erasing a target. 17 | */ 18 | @protocol FBEraseCommands 19 | 20 | #pragma mark Erase 21 | 22 | /** 23 | Erases the target, with a descriptive message in the event of a failure. 24 | 25 | @return a Future that resolves when the target has been erased. 26 | */ 27 | - (FBFuture *)erase; 28 | 29 | @end 30 | 31 | NS_ASSUME_NONNULL_END 32 | -------------------------------------------------------------------------------- /FBControlCore/Commands/FBLocationCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | #import 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | /** 16 | Commands for manipulating location. 17 | */ 18 | @protocol FBLocationCommands 19 | 20 | /** 21 | Overrides the location. 22 | 23 | @param longitude the longitude. 24 | @param latitude the latitude. 25 | @return a Future that resolves when successful. 26 | */ 27 | - (FBFuture *)overrideLocationWithLongitude:(double)longitude latitude:(double)latitude; 28 | 29 | @end 30 | 31 | NS_ASSUME_NONNULL_END 32 | -------------------------------------------------------------------------------- /FBControlCore/Commands/FBMemoryCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | #import 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | /** 16 | Commands for simulating memory events. 17 | */ 18 | @protocol FBMemoryCommands 19 | 20 | /** 21 | Simulates a memory warning 22 | 23 | @return a Future that resolves when successful. 24 | */ 25 | - (FBFuture *)simulateMemoryWarning; 26 | 27 | @end 28 | 29 | NS_ASSUME_NONNULL_END 30 | -------------------------------------------------------------------------------- /FBControlCore/Commands/FBScreenshotCommands.m: -------------------------------------------------------------------------------- 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 "FBScreenshotCommands.h" 9 | 10 | FBScreenshotFormat const FBScreenshotFormatJPEG = @"jpeg"; 11 | FBScreenshotFormat const FBScreenshotFormatPNG = @"png"; 12 | -------------------------------------------------------------------------------- /FBControlCore/Commands/FBSettingsCommands.m: -------------------------------------------------------------------------------- 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 "FBSettingsCommands.h" 9 | 10 | FBTargetSettingsService const FBTargetSettingsServiceContacts = @"contacts"; 11 | FBTargetSettingsService const FBTargetSettingsServicePhotos = @"photos"; 12 | FBTargetSettingsService const FBTargetSettingsServiceCamera = @"camera"; 13 | FBTargetSettingsService const FBTargetSettingsServiceLocation = @"location"; 14 | FBTargetSettingsService const FBTargetSettingsServiceMicrophone = @"microphone"; 15 | FBTargetSettingsService const FBTargetSettingsServiceUrl = @"url"; 16 | FBTargetSettingsService const FBTargetSettingsServiceNotification = @"notification"; 17 | -------------------------------------------------------------------------------- /FBControlCore/Commands/FBVideoStreamCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @class FBVideoStreamConfiguration; 13 | @protocol FBVideoStream; 14 | 15 | /** 16 | Bitmap Streaming Commands. 17 | */ 18 | @protocol FBVideoStreamCommands 19 | 20 | /** 21 | Creates a Bitmap Stream for the iOS Target. 22 | 23 | @param configuration the stream configuration. 24 | @return A future that resolves with the Video Recording session. 25 | */ 26 | - (FBFuture> *)createStreamWithConfiguration:(FBVideoStreamConfiguration *)configuration; 27 | 28 | @end 29 | 30 | NS_ASSUME_NONNULL_END 31 | -------------------------------------------------------------------------------- /FBControlCore/FBControlCore.xcconfig: -------------------------------------------------------------------------------- 1 | // Import Shared & Framework Configuration 2 | #include "../Configuration/Shared.xcconfig" 3 | #include "../Configuration/Framework.xcconfig" 4 | 5 | // Target-Specific Settings 6 | INFOPLIST_FILE = $(SRCROOT)/FBControlCore/FBControlCore-Info.plist 7 | PRODUCT_BUNDLE_IDENTIFIER = com.facebook.FBControlCore 8 | PRODUCT_NAME = FBControlCore -------------------------------------------------------------------------------- /FBControlCore/Utility/FBArchitecture.h: -------------------------------------------------------------------------------- 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 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | /** 13 | Provides known Instruction Set Architectures. 14 | */ 15 | typedef NSString *FBArchitecture NS_STRING_ENUM; 16 | 17 | extern FBArchitecture const FBArchitectureI386; 18 | extern FBArchitecture const FBArchitectureX86_64; 19 | extern FBArchitecture const FBArchitectureArmv7; 20 | extern FBArchitecture const FBArchitectureArmv7s; 21 | extern FBArchitecture const FBArchitectureArm64; 22 | extern FBArchitecture const FBArchitectureArm64e; 23 | 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /FBControlCore/Utility/FBArchitecture.m: -------------------------------------------------------------------------------- 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 "FBArchitecture.h" 9 | 10 | FBArchitecture const FBArchitectureI386 = @"i386"; 11 | FBArchitecture const FBArchitectureX86_64 = @"x86_64"; 12 | FBArchitecture const FBArchitectureArmv7 = @"armv7"; 13 | FBArchitecture const FBArchitectureArmv7s = @"armv7s"; 14 | FBArchitecture const FBArchitectureArm64 = @"arm64"; 15 | FBArchitecture const FBArchitectureArm64e = @"arm64e"; 16 | -------------------------------------------------------------------------------- /FBControlCore/Utility/FBConcatedJsonParser.h: -------------------------------------------------------------------------------- 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 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | /** 13 | New crash log format is just concated json files that *not* follows json spec. This is not array of json objects 14 | delimited with comma, that is just several json files that glued together. We need to parse this to handle correctly 15 | */ 16 | @interface FBConcatedJsonParser : NSObject 17 | 18 | + (nullable NSDictionary *)parseConcatenatedJSONFromString:(NSString *)str error:(NSError **)error; 19 | 20 | @end 21 | 22 | NS_ASSUME_NONNULL_END 23 | -------------------------------------------------------------------------------- /FBControlCore/Utility/NSPredicate+FBControlCore.h: -------------------------------------------------------------------------------- 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 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | /** 13 | Additional Predicates for FBControlCore. 14 | */ 15 | @interface NSPredicate (FBControlCore) 16 | 17 | /** 18 | Returns a that will filter out null/NSNull values. 19 | */ 20 | + (NSPredicate *)notNullPredicate; 21 | 22 | @end 23 | 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /FBControlCore/Utility/NSPredicate+FBControlCore.m: -------------------------------------------------------------------------------- 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 "NSPredicate+FBControlCore.h" 9 | 10 | @implementation NSPredicate (FBControlCore) 11 | 12 | #pragma mark Public 13 | 14 | + (NSPredicate *)notNullPredicate 15 | { 16 | return [NSPredicate predicateWithFormat:@"self != nil"]; 17 | } 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /FBControlCoreTests/Doubles/FBControlCoreLoggerDouble.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | /* 13 | A Double of a Logger that does nothing. 14 | */ 15 | @interface FBControlCoreLoggerDouble : NSObject 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /FBControlCoreTests/FBControlCoreTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.facebook.FBControlCoreTests 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /FBControlCoreTests/FBControlCoreTests.xcconfig: -------------------------------------------------------------------------------- 1 | // Import Shared Configuration 2 | #include "../Configuration/Shared.xcconfig" 3 | 4 | // Target-Specific Settings 5 | INFOPLIST_FILE = $(SRCROOT)/FBControlCoreTests/FBControlCoreTests-Info.plist 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/../Frameworks @loader_path/../Frameworks 7 | PRODUCT_BUNDLE_IDENTIFIER = com.facebook.FBControlCoreTests; 8 | PRODUCT_NAME = FBControlCoreTests 9 | // Only expose PrivateHeaders to Framework targets. Framework targets never expose PrivateHeader imports themselves. 10 | HEADER_SEARCH_PATHS = $(inherited) $(SRCROOT)/PrivateHeaders 11 | -------------------------------------------------------------------------------- /FBControlCoreTests/Fixtures/photo0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/FBControlCoreTests/Fixtures/photo0.png -------------------------------------------------------------------------------- /FBControlCoreTests/Fixtures/xctest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/FBControlCoreTests/Fixtures/xctest -------------------------------------------------------------------------------- /FBControlCoreTests/Templates/FBControlCoreValueTestCase.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | /** 13 | A Template for Tests that Provide Value-Like Objects. 14 | */ 15 | @interface FBControlCoreValueTestCase : XCTestCase 16 | 17 | /** 18 | Asserts that values are equal when copied. 19 | */ 20 | - (void)assertEqualityOfCopy:(NSArray *)values; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /FBControlCoreTests/Templates/FBControlCoreValueTestCase.m: -------------------------------------------------------------------------------- 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 "FBControlCoreValueTestCase.h" 9 | 10 | @implementation FBControlCoreValueTestCase 11 | 12 | - (void)assertEqualityOfCopy:(NSArray *)values 13 | { 14 | for (id value in values) { 15 | id valueCopy = [value copy]; 16 | id valueCopyCopy = [valueCopy copy]; 17 | XCTAssertEqualObjects(value, valueCopy); 18 | XCTAssertEqualObjects(value, valueCopyCopy); 19 | XCTAssertEqualObjects(valueCopy, valueCopyCopy); 20 | } 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /FBDeviceControl/Commands/FBDeviceApplicationCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @class FBDevice; 15 | 16 | /** 17 | An Implementation of FBApplicationCommands for Devices 18 | */ 19 | @interface FBDeviceApplicationCommands : NSObject 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /FBDeviceControl/Commands/FBDeviceCrashLogCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @class FBDevice; 15 | 16 | /** 17 | An Implementation of FBCrashLogCommand for Devices 18 | */ 19 | @interface FBDeviceCrashLogCommands : NSObject 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /FBDeviceControl/Commands/FBDeviceDeveloperDiskImageCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | /** 15 | An Implementation of FBDeviceDeveloperDiskImageCommands for Devices 16 | */ 17 | @interface FBDeviceDeveloperDiskImageCommands : NSObject 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /FBDeviceControl/Commands/FBDeviceDiagnosticInformationCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | /** 15 | An Implementation of FBApplicationCommands for Devices 16 | */ 17 | @interface FBDeviceDiagnosticInformationCommands : NSObject 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /FBDeviceControl/Commands/FBDeviceEraseCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @class FBDevice; 15 | 16 | /** 17 | An Implementation of FBDeviceEraseCommands for Devices 18 | */ 19 | @interface FBDeviceEraseCommands : NSObject 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /FBDeviceControl/Commands/FBDeviceLifecycleCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | #import 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | @interface FBDeviceLifecycleCommands : NSObject 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /FBDeviceControl/Commands/FBDeviceLocationCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @class FBDevice; 15 | 16 | /** 17 | An Implementation of FBLocationCommands for Devices. 18 | */ 19 | @interface FBDeviceLocationCommands : NSObject 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /FBDeviceControl/Commands/FBDeviceLogCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @class FBDevice; 15 | 16 | /** 17 | An implementation of Log Commands for Devices. 18 | */ 19 | @interface FBDeviceLogCommands : NSObject 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /FBDeviceControl/Commands/FBDevicePowerCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | /** 15 | An Implementation of FBPowerCommands for Devices. 16 | */ 17 | @interface FBDevicePowerCommands : NSObject 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /FBDeviceControl/Commands/FBDeviceProvisioningProfileCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @class FBAMDServiceConnection; 15 | @class FBDevice; 16 | 17 | /** 18 | Implementations of debugger related commands. 19 | */ 20 | @interface FBDeviceProvisioningProfileCommands : NSObject 21 | 22 | @end 23 | 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /FBDeviceControl/Commands/FBDeviceScreenshotCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | /** 15 | Device Implementation for Screenshots 16 | */ 17 | @interface FBDeviceScreenshotCommands : NSObject 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /FBDeviceControl/Commands/FBDeviceVideoRecordingCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @class FBDevice; 15 | 16 | /** 17 | A FBVideoRecordingCommands implementation for devices 18 | */ 19 | @interface FBDeviceVideoRecordingCommands : NSObject 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /FBDeviceControl/Commands/FBDeviceXCTestCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @class FBDevice; 15 | 16 | /** 17 | An implementation of FBXCTestCommands, for Devices. 18 | */ 19 | @interface FBDeviceXCTestCommands : NSObject 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /FBDeviceControl/FBDeviceControl.xcconfig: -------------------------------------------------------------------------------- 1 | // Import Shared & Framework Configuration 2 | #include "../Configuration/Shared.xcconfig" 3 | #include "../Configuration/Framework.xcconfig" 4 | 5 | // Target-Specific Settings 6 | INFOPLIST_FILE = $(SRCROOT)/FBDeviceControl/FBDeviceControl-Info.plist 7 | PRODUCT_BUNDLE_IDENTIFIER = com.facebook.FBDeviceControl 8 | PRODUCT_NAME = FBDeviceControl 9 | -------------------------------------------------------------------------------- /FBDeviceControl/README.md: -------------------------------------------------------------------------------- 1 | # `FBDeviceControl` 2 | 3 | A sister-framework to [`FBSimulatorControl`](https://github.com/facebook/idb/tree/main/FBSimulatorControl) for iOS Devices. 4 | 5 | You can use `FBDeviceControl` as a Framework directly, but you may want to look at using `idb` (which uses `FBDeviceControl`) as it provides saner defaults for many scenarios. 6 | -------------------------------------------------------------------------------- /FBDeviceControl/Utility/FBDeviceControlError.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | /** 13 | The Error Domain for XCTestBootstrap Errors. 14 | */ 15 | extern NSString *const FBDeviceControlErrorDomain; 16 | 17 | /** 18 | An Error Builder for FBDeviceControl Errors. 19 | */ 20 | @interface FBDeviceControlError : FBControlCoreError 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /FBDeviceControl/Utility/FBDeviceControlError.m: -------------------------------------------------------------------------------- 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 "FBDeviceControlError.h" 9 | 10 | NSString *const FBDeviceControlErrorDomain = @"com.facebook.FBDeviceControl"; 11 | 12 | @implementation FBDeviceControlError 13 | 14 | - (instancetype)init 15 | { 16 | self = [super init]; 17 | if (!self) { 18 | return nil; 19 | } 20 | 21 | [self inDomain:FBDeviceControlErrorDomain]; 22 | 23 | return self; 24 | } 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /FBDeviceControl/Utility/FBDeviceControlFrameworkLoader.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | @protocol FBControlCoreLogger; 17 | 18 | /** 19 | Loads Frameworks that FBDeviceControl depends on and initializes values. 20 | */ 21 | @interface FBDeviceControlFrameworkLoader : FBControlCoreFrameworkLoader 22 | 23 | /** 24 | The AMDevice Calls to use. 25 | */ 26 | @property (nonatomic, assign, class, readonly) AMDCalls amDeviceCalls; 27 | 28 | @end 29 | 30 | NS_ASSUME_NONNULL_END 31 | -------------------------------------------------------------------------------- /FBDeviceControl/Utility/FileManager+TemporaryFile.swift: -------------------------------------------------------------------------------- 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 9 | 10 | extension FileManager { 11 | func temporaryFile(extension fileExtension: String) throws -> URL { 12 | let tmpPath = try url(for: .itemReplacementDirectory, in: .userDomainMask, appropriateFor: URL(fileURLWithPath: "/tmp"), create: true) 13 | if #available(macOS 13.0, *) { 14 | return tmpPath.appending(component: "\(ProcessInfo().globallyUniqueString).\(fileExtension)") 15 | } else { 16 | return tmpPath.appendingPathComponent("\(ProcessInfo().globallyUniqueString)", isDirectory: false) 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /FBDeviceControlTests/FBDeviceControlTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.facebook.FBDeviceControlTests 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /FBDeviceControlTests/FBDeviceControlTests.xcconfig: -------------------------------------------------------------------------------- 1 | // Import Shared Configuration 2 | #include "../Configuration/Shared.xcconfig" 3 | 4 | // Target-Specific Settings 5 | DEFINES_MODULE = YES 6 | DYLIB_INSTALL_NAME_BASE = @rpath 7 | INFOPLIST_FILE = $(SRCROOT)/FBDeviceControlTests/FBDeviceControlTests-Info.plist 8 | LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/../Frameworks @loader_path/../Frameworks 9 | PRODUCT_BUNDLE_IDENTIFIER = com.facebook.FBDeviceControlTests 10 | PRODUCT_NAME = $(TARGET_NAME) 11 | -------------------------------------------------------------------------------- /FBSimulatorControl.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /FBSimulatorControl/Commands/FBSimulatorCrashLogCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface FBSimulatorCrashLogCommands : NSObject 15 | 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /FBSimulatorControl/Commands/FBSimulatorDapServerCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | 11 | #import 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | @interface FBSimulatorDapServerCommand : NSObject 15 | 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /FBSimulatorControl/Commands/FBSimulatorDebuggerCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface FBSimulatorDebuggerCommands : NSObject 15 | 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /FBSimulatorControl/Commands/FBSimulatorLocationCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | /** 15 | An Implementation of FBLocationCommands for Simulators. 16 | */ 17 | @interface FBSimulatorLocationCommands : NSObject 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /FBSimulatorControl/Commands/FBSimulatorLogCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @class FBSimulator; 15 | 16 | /** 17 | An implementation of Log Commands for Simulators. 18 | */ 19 | @interface FBSimulatorLogCommands : NSObject 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /FBSimulatorControl/Commands/FBSimulatorMemoryCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | /** 15 | An Implementation of FBMemoryCommands for Simulators. 16 | */ 17 | @interface FBSimulatorMemoryCommands : NSObject 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /FBSimulatorControl/Commands/FBSimulatorNotificationCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | /** 15 | An Implementation of FBNotificationCommands for Simulators. 16 | */ 17 | @interface FBSimulatorNotificationCommands : NSObject 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /FBSimulatorControl/Commands/FBSimulatorScreenshotCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | /** 15 | An implementation of Screenshot Commands for Simulators 16 | */ 17 | @interface FBSimulatorScreenshotCommands : NSObject 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /FBSimulatorControl/Commands/FBSimulatorVideoRecordingCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @class FBSimulator; 15 | @class FBSimulatorVideoStream; 16 | 17 | /** 18 | An implementation of Video Recording Commands for Simulators. 19 | */ 20 | @interface FBSimulatorVideoRecordingCommands : NSObject 21 | 22 | @end 23 | 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /FBSimulatorControl/Commands/FBSimulatorXCTestCommands.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | /** 15 | The implementation of the FBSimulatorXCTestCommands instance. 16 | */ 17 | @interface FBSimulatorXCTestCommands : NSObject 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /FBSimulatorControl/FBSimulatorControl.xcconfig: -------------------------------------------------------------------------------- 1 | // Import Shared & Framework Configuration 2 | #include "../Configuration/Shared.xcconfig" 3 | #include "../Configuration/Framework.xcconfig" 4 | 5 | // Target-Specific Settings 6 | INFOPLIST_FILE = $(SRCROOT)/FBSimulatorControl/FBSimulatorControl-Info.plist; 7 | PRODUCT_BUNDLE_IDENTIFIER = com.facebook.FBSimulatorControl 8 | PRODUCT_NAME = FBSimulatorControl 9 | -------------------------------------------------------------------------------- /FBSimulatorControl/Strategies/FBSimulatorNotificationUpdateStrategy.h: -------------------------------------------------------------------------------- 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 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @class FBSimulatorSet; 13 | 14 | /** 15 | A Strategy that responds to updates of Simulator States. 16 | */ 17 | @interface FBSimulatorNotificationUpdateStrategy : NSObject 18 | 19 | #pragma mark Initializers 20 | 21 | /** 22 | The Designated Initializer. 23 | 24 | @param set the Simulator Set to use. 25 | @return a new Strategy 26 | */ 27 | + (instancetype)strategyWithSet:(FBSimulatorSet *)set; 28 | 29 | @end 30 | 31 | NS_ASSUME_NONNULL_END 32 | -------------------------------------------------------------------------------- /FBSimulatorControl/Utility/FBSimulatorError.h: -------------------------------------------------------------------------------- 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 9 | #import 10 | 11 | #import 12 | 13 | @class FBSimulator; 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | /** 18 | The Error Domain for FBSimulatorControl. 19 | */ 20 | extern NSString *const FBSimulatorControlErrorDomain; 21 | 22 | /** 23 | Helpers for constructing Errors representing errors in FBSimulatorControl & adding additional diagnosis. 24 | */ 25 | @interface FBSimulatorError : FBControlCoreError 26 | 27 | @end 28 | 29 | NS_ASSUME_NONNULL_END 30 | -------------------------------------------------------------------------------- /FBSimulatorControl/Utility/FBSimulatorError.m: -------------------------------------------------------------------------------- 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 "FBSimulatorError.h" 9 | 10 | #import 11 | 12 | #import "FBSimulator.h" 13 | 14 | NSString *const FBSimulatorControlErrorDomain = @"com.facebook.FBSimulatorControl"; 15 | 16 | @implementation FBSimulatorError 17 | 18 | - (instancetype)init 19 | { 20 | self = [super init]; 21 | if (!self) { 22 | return nil; 23 | } 24 | 25 | [self inDomain:FBSimulatorControlErrorDomain]; 26 | 27 | return self; 28 | } 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /FBSimulatorControlTests/FBSimulatorControlTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.facebook.FBSimulatorControlTests 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /FBSimulatorControlTests/FBSimulatorControlTests.xcconfig: -------------------------------------------------------------------------------- 1 | // Import Shared Configuration 2 | #include "../Configuration/Shared.xcconfig" 3 | 4 | // Target-Specific Settings 5 | INFOPLIST_FILE = $(SRCROOT)/FBSimulatorControlTests/FBSimulatorControlTests-Info.plist; 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/../Frameworks @loader_path/../Frameworks 7 | PRODUCT_BUNDLE_IDENTIFIER = com.facebook.FBSimulatorControlTests 8 | PRODUCT_NAME = FBSimulatorControlTests 9 | -------------------------------------------------------------------------------- /FBSimulatorControlTests/Fixtures/photo0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/FBSimulatorControlTests/Fixtures/photo0.png -------------------------------------------------------------------------------- /FBSimulatorControlTests/Fixtures/photo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/FBSimulatorControlTests/Fixtures/photo1.png -------------------------------------------------------------------------------- /FBSimulatorControlTests/Fixtures/video0.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/FBSimulatorControlTests/Fixtures/video0.mp4 -------------------------------------------------------------------------------- /Fixtures/Binaries/FBTestRunnerApp.app/FBTestRunnerApp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/FBTestRunnerApp.app/FBTestRunnerApp -------------------------------------------------------------------------------- /Fixtures/Binaries/FBTestRunnerApp.app/Frameworks/XCTAutomationSupport.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/FBTestRunnerApp.app/Frameworks/XCTAutomationSupport.framework/Info.plist -------------------------------------------------------------------------------- /Fixtures/Binaries/FBTestRunnerApp.app/Frameworks/XCTAutomationSupport.framework/XCTAutomationSupport: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/FBTestRunnerApp.app/Frameworks/XCTAutomationSupport.framework/XCTAutomationSupport -------------------------------------------------------------------------------- /Fixtures/Binaries/FBTestRunnerApp.app/Frameworks/XCTAutomationSupport.framework/XPCServices/LogArchiveCollector.xpc/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/FBTestRunnerApp.app/Frameworks/XCTAutomationSupport.framework/XPCServices/LogArchiveCollector.xpc/Info.plist -------------------------------------------------------------------------------- /Fixtures/Binaries/FBTestRunnerApp.app/Frameworks/XCTAutomationSupport.framework/XPCServices/LogArchiveCollector.xpc/LogArchiveCollector: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/FBTestRunnerApp.app/Frameworks/XCTAutomationSupport.framework/XPCServices/LogArchiveCollector.xpc/LogArchiveCollector -------------------------------------------------------------------------------- /Fixtures/Binaries/FBTestRunnerApp.app/Frameworks/XCTAutomationSupport.framework/XPCServices/LogArchiveCollector.xpc/version.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildAliasOf 6 | XCTest 7 | BuildVersion 8 | 1 9 | CFBundleShortVersionString 10 | 1.0 11 | CFBundleVersion 12 | 1 13 | ProjectName 14 | XCTest_Sim 15 | SourceVersion 16 | 14264006000000000 17 | 18 | 19 | -------------------------------------------------------------------------------- /Fixtures/Binaries/FBTestRunnerApp.app/Frameworks/XCTAutomationSupport.framework/version.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildAliasOf 6 | XCTest 7 | BuildVersion 8 | 1 9 | CFBundleShortVersionString 10 | 1.0 11 | CFBundleVersion 12 | 1 13 | ProjectName 14 | XCTest_Sim 15 | SourceVersion 16 | 14264006000000000 17 | 18 | 19 | -------------------------------------------------------------------------------- /Fixtures/Binaries/FBTestRunnerApp.app/Frameworks/XCTest.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/FBTestRunnerApp.app/Frameworks/XCTest.framework/Info.plist -------------------------------------------------------------------------------- /Fixtures/Binaries/FBTestRunnerApp.app/Frameworks/XCTest.framework/XCTest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/FBTestRunnerApp.app/Frameworks/XCTest.framework/XCTest -------------------------------------------------------------------------------- /Fixtures/Binaries/FBTestRunnerApp.app/Frameworks/XCTest.framework/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/FBTestRunnerApp.app/Frameworks/XCTest.framework/en.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /Fixtures/Binaries/FBTestRunnerApp.app/Frameworks/XCTest.framework/version.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildAliasOf 6 | XCTest 7 | BuildVersion 8 | 1 9 | CFBundleShortVersionString 10 | 1.0 11 | CFBundleVersion 12 | 14264.6 13 | ProjectName 14 | XCTest_Sim 15 | SourceVersion 16 | 14264006000000000 17 | 18 | 19 | -------------------------------------------------------------------------------- /Fixtures/Binaries/FBTestRunnerApp.app/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/FBTestRunnerApp.app/Info.plist -------------------------------------------------------------------------------- /Fixtures/Binaries/FBTestRunnerApp.app/PkgInfo: -------------------------------------------------------------------------------- 1 | APPL???? -------------------------------------------------------------------------------- /Fixtures/Binaries/MacAppFixture.app/Contents/MacOS/MacAppFixture: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/MacAppFixture.app/Contents/MacOS/MacAppFixture -------------------------------------------------------------------------------- /Fixtures/Binaries/MacAppFixture.app/Contents/PkgInfo: -------------------------------------------------------------------------------- 1 | APPL???? -------------------------------------------------------------------------------- /Fixtures/Binaries/MacAppFixture.app/Contents/Resources/Base.lproj/MainMenu.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/MacAppFixture.app/Contents/Resources/Base.lproj/MainMenu.nib -------------------------------------------------------------------------------- /Fixtures/Binaries/MacAppUITestsFixture.xctest/Contents/MacOS/MacAppUITestsFixture: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/MacAppUITestsFixture.xctest/Contents/MacOS/MacAppUITestsFixture -------------------------------------------------------------------------------- /Fixtures/Binaries/MacCommonApp.app/Contents/MacOS/MacCommonApp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/MacCommonApp.app/Contents/MacOS/MacCommonApp -------------------------------------------------------------------------------- /Fixtures/Binaries/MacCommonApp.app/Contents/PkgInfo: -------------------------------------------------------------------------------- 1 | APPL???? -------------------------------------------------------------------------------- /Fixtures/Binaries/MacUnitTestFixture.xctest/Contents/MacOS/MacUnitTestFixture: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/MacUnitTestFixture.xctest/Contents/MacOS/MacUnitTestFixture -------------------------------------------------------------------------------- /Fixtures/Binaries/TableSearch.app/Base.lproj/LaunchScreen.storyboardc/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/TableSearch.app/Base.lproj/LaunchScreen.storyboardc/Info.plist -------------------------------------------------------------------------------- /Fixtures/Binaries/TableSearch.app/Base.lproj/LaunchScreen.storyboardc/UINavigationController-Mpu-gp-ECv.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/TableSearch.app/Base.lproj/LaunchScreen.storyboardc/UINavigationController-Mpu-gp-ECv.nib -------------------------------------------------------------------------------- /Fixtures/Binaries/TableSearch.app/Base.lproj/LaunchScreen.storyboardc/VNu-yS-PhO-view-ZEs-tw-jfE.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/TableSearch.app/Base.lproj/LaunchScreen.storyboardc/VNu-yS-PhO-view-ZEs-tw-jfE.nib -------------------------------------------------------------------------------- /Fixtures/Binaries/TableSearch.app/Base.lproj/MainStoryboard.storyboardc/4Ax-ex-6Gm-view-y0T-Np-Hyb.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/TableSearch.app/Base.lproj/MainStoryboard.storyboardc/4Ax-ex-6Gm-view-y0T-Np-Hyb.nib -------------------------------------------------------------------------------- /Fixtures/Binaries/TableSearch.app/Base.lproj/MainStoryboard.storyboardc/APLDetailViewController.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/TableSearch.app/Base.lproj/MainStoryboard.storyboardc/APLDetailViewController.nib -------------------------------------------------------------------------------- /Fixtures/Binaries/TableSearch.app/Base.lproj/MainStoryboard.storyboardc/APLMainTableViewController.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/TableSearch.app/Base.lproj/MainStoryboard.storyboardc/APLMainTableViewController.nib -------------------------------------------------------------------------------- /Fixtures/Binaries/TableSearch.app/Base.lproj/MainStoryboard.storyboardc/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/TableSearch.app/Base.lproj/MainStoryboard.storyboardc/Info.plist -------------------------------------------------------------------------------- /Fixtures/Binaries/TableSearch.app/Base.lproj/MainStoryboard.storyboardc/RootNavController.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/TableSearch.app/Base.lproj/MainStoryboard.storyboardc/RootNavController.nib -------------------------------------------------------------------------------- /Fixtures/Binaries/TableSearch.app/Base.lproj/MainStoryboard.storyboardc/gen-ib-Cgz-view-8hD-Hr-uqh.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/TableSearch.app/Base.lproj/MainStoryboard.storyboardc/gen-ib-Cgz-view-8hD-Hr-uqh.nib -------------------------------------------------------------------------------- /Fixtures/Binaries/TableSearch.app/Base.lproj/TableCell.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/TableSearch.app/Base.lproj/TableCell.nib -------------------------------------------------------------------------------- /Fixtures/Binaries/TableSearch.app/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/TableSearch.app/Info.plist -------------------------------------------------------------------------------- /Fixtures/Binaries/TableSearch.app/PkgInfo: -------------------------------------------------------------------------------- 1 | APPL???? -------------------------------------------------------------------------------- /Fixtures/Binaries/TableSearch.app/TableSearch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/TableSearch.app/TableSearch -------------------------------------------------------------------------------- /Fixtures/Binaries/iOSAppFixture.app/Base.lproj/Main.storyboardc/A0G-T4-NTt-view-k7C-Uz-6I5.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/iOSAppFixture.app/Base.lproj/Main.storyboardc/A0G-T4-NTt-view-k7C-Uz-6I5.nib -------------------------------------------------------------------------------- /Fixtures/Binaries/iOSAppFixture.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/iOSAppFixture.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib -------------------------------------------------------------------------------- /Fixtures/Binaries/iOSAppFixture.app/Base.lproj/Main.storyboardc/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/iOSAppFixture.app/Base.lproj/Main.storyboardc/Info.plist -------------------------------------------------------------------------------- /Fixtures/Binaries/iOSAppFixture.app/Base.lproj/Main.storyboardc/UIViewController-A0G-T4-NTt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/iOSAppFixture.app/Base.lproj/Main.storyboardc/UIViewController-A0G-T4-NTt.nib -------------------------------------------------------------------------------- /Fixtures/Binaries/iOSAppFixture.app/Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/iOSAppFixture.app/Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib -------------------------------------------------------------------------------- /Fixtures/Binaries/iOSAppFixture.app/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/iOSAppFixture.app/Info.plist -------------------------------------------------------------------------------- /Fixtures/Binaries/iOSAppFixture.app/PkgInfo: -------------------------------------------------------------------------------- 1 | APPL???? -------------------------------------------------------------------------------- /Fixtures/Binaries/iOSAppFixture.app/iOSAppFixture: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/iOSAppFixture.app/iOSAppFixture -------------------------------------------------------------------------------- /Fixtures/Binaries/iOSAppFixtureAppTests.xctest/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/iOSAppFixtureAppTests.xctest/Info.plist -------------------------------------------------------------------------------- /Fixtures/Binaries/iOSAppFixtureAppTests.xctest/iOSAppFixtureAppTests: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/iOSAppFixtureAppTests.xctest/iOSAppFixtureAppTests -------------------------------------------------------------------------------- /Fixtures/Binaries/iOSAppUITestFixture.xctest/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/iOSAppUITestFixture.xctest/Info.plist -------------------------------------------------------------------------------- /Fixtures/Binaries/iOSAppUITestFixture.xctest/iOSAppUITestFixture: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/iOSAppUITestFixture.xctest/iOSAppUITestFixture -------------------------------------------------------------------------------- /Fixtures/Binaries/iOSUnitTestFixture.xctest/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/iOSUnitTestFixture.xctest/Info.plist -------------------------------------------------------------------------------- /Fixtures/Binaries/iOSUnitTestFixture.xctest/iOSUnitTestFixture: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Binaries/iOSUnitTestFixture.xctest/iOSUnitTestFixture -------------------------------------------------------------------------------- /Fixtures/Media/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Fixtures/Media/image.png -------------------------------------------------------------------------------- /Fixtures/Source/MacCommonApp/main.m: -------------------------------------------------------------------------------- 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 9 | 10 | int main(int argc, const char *argv[]) { 11 | return NSApplicationMain(argc, argv); 12 | } 13 | -------------------------------------------------------------------------------- /Fixtures/Source/MacUITestFixture/App/AppDelegate.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface AppDelegate : NSObject 11 | 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Fixtures/Source/MacUITestFixture/App/AppDelegate.m: -------------------------------------------------------------------------------- 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 "AppDelegate.h" 9 | 10 | @interface AppDelegate () 11 | @property (nonatomic, weak) IBOutlet NSWindow *window; 12 | @end 13 | 14 | @implementation AppDelegate 15 | @end 16 | -------------------------------------------------------------------------------- /Fixtures/Source/MacUITestFixture/App/main.m: -------------------------------------------------------------------------------- 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 9 | 10 | int main(int argc, const char *argv[]) { 11 | return NSApplicationMain(argc, argv); 12 | } 13 | -------------------------------------------------------------------------------- /Fixtures/Source/MacUITestFixture/Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Fixtures/Source/MacUnitTestFixture/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /Fixtures/Source/MacUnitTestFixture/MacUnitTestFixture.xcconfig: -------------------------------------------------------------------------------- 1 | // Import Shared Configuration 2 | #include "../../Configuration/Shared.xcconfig" 3 | 4 | // Target-Specific Settings 5 | SDKROOT = macosx 6 | INFOPLIST_FILE = $(SRCROOT)/MacUnitTestFixture/Info.plist 7 | PRODUCT_BUNDLE_IDENTIFIER = com.facebook.MacUnitTestFixture 8 | PRODUCT_NAME = MacUnitTestFixture 9 | LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/../Frameworks @loader_path/../Frameworks -------------------------------------------------------------------------------- /Fixtures/Source/fetch_deps.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 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 | set -ex 8 | 9 | SCRIPT="$(realpath "$0")" 10 | SCRIPTPATH="$(dirname "$SCRIPT")" 11 | RUNNER_FRAMEWORK_DIR="$SCRIPTPATH/FBTestRunnerApp/Frameworks" 12 | XCODE_PATH=$(xcode-select -p) 13 | 14 | if [ ! -d "$RUNNER_FRAMEWORK_DIR" ]; then 15 | mkdir "$RUNNER_FRAMEWORK_DIR" 16 | fi 17 | 18 | rm -rf "${RUNNER_FRAMEWORK_DIR:-}/*" 19 | cp -rf "$XCODE_PATH/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks/XCTest.framework" "$RUNNER_FRAMEWORK_DIR" 20 | cp -rf "$XCODE_PATH/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/XCTAutomationSupport.framework" "$RUNNER_FRAMEWORK_DIR" 21 | -------------------------------------------------------------------------------- /Fixtures/Source/iOSUITestFixture/App/main.m: -------------------------------------------------------------------------------- 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 9 | 10 | @interface AppDelegate : NSObject 11 | @property (nonatomic, strong) UIWindow *window; 12 | @end 13 | 14 | @implementation AppDelegate 15 | @end 16 | 17 | int main(int argc, char * argv[]) { 18 | @autoreleasepool { 19 | return UIApplicationMain(argc, argv, nil, @"AppDelegate"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Fixtures/Source/iOSUITestFixture/Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Fixtures/Source/iOSUITestFixture/iOSAppFixtureAppTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Fixtures/Source/iOSUITestFixture/iOSAppFixtureAppTests/iOSAppFixtureAppTests.m: -------------------------------------------------------------------------------- 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 9 | 10 | @interface iOSAppFixtureAppTests : XCTestCase 11 | 12 | @end 13 | 14 | @implementation iOSAppFixtureAppTests 15 | 16 | - (void)testWillAlwaysPass 17 | { 18 | // do nothing 19 | } 20 | 21 | - (void)testWillAlwaysFail 22 | { 23 | XCTFail(@"This always fails"); 24 | } 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Fixtures/Source/iOSUnitTestFixture/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /Fixtures/Source/iOSUnitTestFixture/iOSUnitTestFixture.xcconfig: -------------------------------------------------------------------------------- 1 | // Import Shared Configuration 2 | #include "../../Configuration/Shared.xcconfig" 3 | 4 | // Target-Specific Settings 5 | SDKROOT = iphoneos 6 | INFOPLIST_FILE = $(SRCROOT)/iOSUnitTestFixture/Info.plist 7 | PRODUCT_BUNDLE_IDENTIFIER = com.facebook.iOSUnitTestFixture 8 | PRODUCT_NAME = iOSUnitTestFixture 9 | LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/../Frameworks @loader_path/../Frameworks 10 | ONLY_ACTIVE_ARCH = NO -------------------------------------------------------------------------------- /IDBCompanionUtilities/CodeLocation.swift: -------------------------------------------------------------------------------- 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 9 | 10 | struct CodeLocation: CustomStringConvertible { 11 | let function: String? 12 | let file: String 13 | let line: Int 14 | let column: Int 15 | 16 | var description: String { 17 | "Located at file: \(file), line: \(line), column: \(column)" + (function.map { ", function: " + $0 } ?? "") 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /PrivateHeaders/AccessibilityPlatformTranslation/AXPTranslationElementProtocol-Protocol.h: -------------------------------------------------------------------------------- 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 "NSObject.h" 9 | 10 | @class AXPTranslationObject; 11 | 12 | @protocol AXPTranslationElementProtocol 13 | + (id)platformElementWithTranslationObject:(AXPTranslationObject *)arg1; 14 | @property(readonly, nonatomic) AXPTranslationObject *translation; 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /PrivateHeaders/AccessibilityPlatformTranslation/AXPiOSElementData.h: -------------------------------------------------------------------------------- 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 "NSObject.h" 9 | 10 | #import "NSCopying.h" 11 | 12 | @interface AXPiOSElementData : NSObject 13 | { 14 | int _pid; 15 | CDStruct_26bd94fa _uid; 16 | } 17 | 18 | @property(nonatomic) int pid; // @synthesize pid=_pid; 19 | @property(nonatomic) CDStruct_26bd94fa uid; // @synthesize uid=_uid; 20 | - (id)description; 21 | - (unsigned long long)hash; 22 | - (BOOL)isEqual:(id)arg1; 23 | - (id)copyWithZone:(struct _NSZone *)arg1; 24 | 25 | @end 26 | 27 | -------------------------------------------------------------------------------- /PrivateHeaders/AccessibilityPlatformTranslation/CDStructures.h: -------------------------------------------------------------------------------- 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 | #pragma mark Blocks 9 | 10 | typedef void (^CDUnknownBlockType)(void); // return type and parameters are unknown 11 | 12 | #pragma mark Named Structures 13 | 14 | struct CGPoint { 15 | double _field1; 16 | double _field2; 17 | }; 18 | 19 | struct CGRect { 20 | struct CGPoint _field1; 21 | struct CGSize _field2; 22 | }; 23 | 24 | struct CGSize { 25 | double _field1; 26 | double _field2; 27 | }; 28 | 29 | #pragma mark Typedef'd Structures 30 | 31 | typedef struct { 32 | unsigned long long elementOrHash; 33 | unsigned long long elementID; 34 | } CDStruct_26bd94fa; 35 | 36 | -------------------------------------------------------------------------------- /PrivateHeaders/AccessibilityPlatformTranslation/NSAccessibilityCustomElementDataProvider-Protocol.h: -------------------------------------------------------------------------------- 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 "NSObject.h" 9 | 10 | @class NSData; 11 | 12 | @protocol NSAccessibilityCustomElementDataProvider 13 | + (id)elementWithAccessibilityCustomElementData:(NSData *)arg1; 14 | - (NSData *)accessibilityCustomElementData; 15 | 16 | @optional 17 | - (BOOL)overridePresenterPid:(int *)arg1; 18 | - (BOOL)overrideElementPid:(int *)arg1; 19 | @end 20 | 21 | -------------------------------------------------------------------------------- /PrivateHeaders/AccessibilityPlatformTranslation/NSAccessibilityCustomRotor-Private.h: -------------------------------------------------------------------------------- 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 "NSAccessibilityCustomRotor.h" 9 | 10 | @class NSUUID; 11 | 12 | @interface NSAccessibilityCustomRotor (Private) 13 | @property(copy, nonatomic) NSUUID *uuid; 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /PrivateHeaders/AccessibilityPlatformTranslation/NSAccessibilityCustomRotorItemSearchDelegate-Protocol.h: -------------------------------------------------------------------------------- 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 "NSObject.h" 9 | 10 | @class NSAccessibilityCustomRotor, NSAccessibilityCustomRotorItemResult, NSAccessibilityCustomRotorSearchParameters; 11 | 12 | @protocol NSAccessibilityCustomRotorItemSearchDelegate 13 | - (NSAccessibilityCustomRotorItemResult *)rotor:(NSAccessibilityCustomRotor *)arg1 resultForSearchParameters:(NSAccessibilityCustomRotorSearchParameters *)arg2; 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /PrivateHeaders/AccessibilityPlatformTranslation/NSAccessibilityElement-Protocol.h: -------------------------------------------------------------------------------- 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 "NSObject.h" 9 | 10 | @class NSString; 11 | 12 | @protocol NSAccessibilityElement 13 | - (id)accessibilityParent; 14 | - (struct CGRect)accessibilityFrame; 15 | 16 | @optional 17 | - (NSString *)accessibilityIdentifier; 18 | - (BOOL)isAccessibilityFocused; 19 | @end 20 | 21 | -------------------------------------------------------------------------------- /PrivateHeaders/AccessibilityPlatformTranslation/NSCoding-Protocol.h: -------------------------------------------------------------------------------- 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 | @class NSCoder; 9 | 10 | @protocol NSCoding 11 | - (id)initWithCoder:(NSCoder *)arg1; 12 | - (void)encodeWithCoder:(NSCoder *)arg1; 13 | @end 14 | 15 | -------------------------------------------------------------------------------- /PrivateHeaders/AccessibilityPlatformTranslation/NSCopying-Protocol.h: -------------------------------------------------------------------------------- 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 | @protocol NSCopying 9 | - (id)copyWithZone:(struct _NSZone *)arg1; 10 | @end 11 | 12 | -------------------------------------------------------------------------------- /PrivateHeaders/AccessibilityPlatformTranslation/NSSecureCoding-Protocol.h: -------------------------------------------------------------------------------- 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 "NSCoding.h" 9 | 10 | @protocol NSSecureCoding 11 | + (BOOL)supportsSecureCoding; 12 | @end 13 | 14 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/CDStructures.h: -------------------------------------------------------------------------------- 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 | #pragma mark Function Pointers and Blocks 9 | 10 | typedef void (*CDUnknownFunctionPointerType)(void); // return type and parameters are unknown 11 | 12 | typedef void (^CDUnknownBlockType)(void); // return type and parameters are unknown 13 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/CoreSimulator+BlockDefines.h: -------------------------------------------------------------------------------- 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 | typedef void (^CoreSimulatorAgentTerminationHandler)(int); 9 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/FoundationXPCProtocolProxyable-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol FoundationXPCProtocolProxyable 11 | @end 12 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/NSArray-SimArgv.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface NSArray (SimArgv) 11 | - (void)sim_freeArgv:(char **)arg1; 12 | @property (readonly, nonatomic) char **sim_argv; 13 | @end 14 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/NSCoding-Protocol.h: -------------------------------------------------------------------------------- 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 | @class NSCoder; 9 | 10 | @protocol NSCoding 11 | - (id)initWithCoder:(NSCoder *)arg1; 12 | - (void)encodeWithCoder:(NSCoder *)arg1; 13 | @end 14 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/NSDictionary-SimEnvp.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface NSDictionary (SimEnvp) 11 | - (void)sim_freeEnvp:(char **)arg1; 12 | @property (readonly, nonatomic) char **sim_envp; 13 | @end 14 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/NSDictionary-SimSaveWithError.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface NSDictionary (SimSaveWithError) 11 | - (BOOL)sim_writeAtomicallyToFile:(id)arg1 error:(id *)arg2; 12 | @end 13 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/NSError-SimError.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface NSError (SimError) 11 | + (id)errorWithSimPairingTestResult:(long long)arg1; 12 | + (id)errorWithLaunchdError:(int)arg1 userInfo:(id)arg2; 13 | + (id)errorWithLaunchdError:(int)arg1 localizedDescription:(id)arg2; 14 | + (id)errorWithLaunchdError:(int)arg1; 15 | + (id)errorWithSimErrno:(int)arg1 localizedDescription:(id)arg2; 16 | + (id)errorWithSimErrno:(int)arg1 userInfo:(id)arg2; 17 | + (id)errorWithSimErrno:(int)arg1; 18 | @end 19 | 20 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/NSFileManager-CoreSimulator.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface NSFileManager (CoreSimulator) 11 | - (BOOL)sim_copyItemAtPath:(id)arg1 toCreatedPath:(id)arg2 error:(id *)arg3; 12 | - (BOOL)sim_reentrantSafeCreateDirectoryAtPath:(id)arg1 withIntermediateDirectories:(BOOL)arg2 attributes:(id)arg3 error:(id *)arg4; 13 | @end 14 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/NSKeyedArchiver-SimPasteboardItem.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface NSKeyedArchiver (SimPasteboardItem) 11 | + (id)sim_securelyArchivedDataWithRootObject:(id)arg1; 12 | @end 13 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/NSKeyedArchiver-SimSecurely.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface NSKeyedArchiver (SimSecurely) 11 | + (id)sim_securelyArchivedDataWithRootObject:(id)arg1; 12 | @end 13 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/NSKeyedUnarchiver-SimPasteboardItem.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface NSKeyedUnarchiver (SimPasteboardItem) 11 | + (id)sim_securelyUnarchiveObjectWithData:(id)arg1; 12 | @end 13 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/NSKeyedUnarchiver-SimSecurely.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface NSKeyedUnarchiver (SimSecurely) 11 | + (id)sim_securelyUnarchiveObjectWithClasses:(id)arg1 data:(id)arg2; 12 | + (id)sim_securelyUnarchiveObjectWithData:(id)arg1; 13 | + (void)sim_securelyWhitelistClasses:(id)arg1; 14 | + (void)sim_securelyWhitelistClass:(Class)arg1; 15 | + (id)sim_securelyWhitelistClasses; 16 | @end 17 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/NSPasteboardItem-SimPasteboardItem.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface NSPasteboardItem (SimPasteboardItem) 11 | - (void)resolveAllTypes; 12 | - (BOOL)setSimPBItemValue:(id)arg1 forType:(id)arg2; 13 | @end 14 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/NSPasteboardItemDataProvider-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class NSPasteboard, NSPasteboardItem, NSString; 11 | 12 | @protocol NSPasteboardItemDataProvider 13 | - (void)pasteboard:(NSPasteboard *)arg1 item:(NSPasteboardItem *)arg2 provideDataForType:(NSString *)arg3; 14 | 15 | @optional 16 | - (void)pasteboardFinishedWithDataProvider:(NSPasteboard *)arg1; 17 | @end 18 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/NSSecureCoding-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol NSSecureCoding 11 | + (BOOL)supportsSecureCoding; 12 | @end 13 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/NSString-SIMCPUType.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface NSString (SIMCPUType) 11 | + (id)sim_stringForCPUType:(int)arg1; 12 | - (int)sim_cpuType; 13 | @end 14 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/NSString-SIMPackedVersion.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface NSString (SIMPackedVersion) 11 | + (id)sim_stringForPackedVersion:(unsigned int)arg1; 12 | - (unsigned int)sim_packedVersion; 13 | @end 14 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/NSString-SimServiceContextExtras.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface NSString (SimServiceContextExtras) 11 | - (BOOL)realPathHasPrefix:(id)arg1; 12 | - (id)realPath; 13 | @end 14 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/NSUserDefaults-SimDefaults.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface NSUserDefaults (SimDefaults) 11 | + (id)simulatorDefaults; 12 | @end 13 | 14 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/SimDevice+Removed.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface SimDevice (Removed) 11 | 12 | /** 13 | Removed in the new Xcode 8 Betas 14 | */ 15 | - (id)portForServiceNamed:(id)arg1 error:(NSError **)arg2; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/SimDeviceIOInterface-Protocol.h: -------------------------------------------------------------------------------- 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 | @class NSString; 9 | 10 | @protocol SimDeviceIOInterface 11 | - (BOOL)unregisterService:(NSString *)arg1 error:(id *)arg2; 12 | - (BOOL)registerPort:(unsigned int)arg1 service:(NSString *)arg2 error:(id *)arg3; 13 | @end 14 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/SimDeviceIOLoadedBundle.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class NSBundle; 11 | @protocol SimDeviceIOBundleInterface; 12 | 13 | @interface SimDeviceIOLoadedBundle : NSObject 14 | { 15 | NSBundle *_bundle; 16 | id _bundleInterface; 17 | } 18 | 19 | + (id)loadedBundleForURL:(id)arg1; 20 | @property (retain, nonatomic) id bundleInterface; 21 | @property (retain, nonatomic) NSBundle *bundle; 22 | 23 | - (id)initWithURL:(id)arg1; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/SimDeviceIOPortConsumer-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class NSString, NSUUID; 11 | 12 | @protocol SimDeviceIOPortConsumer 13 | @property (readonly, nonatomic) NSUUID *consumerUUID; 14 | @property(nonatomic, copy, readonly) NSString *consumerIdentifier; 15 | @end 16 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/SimDeviceIOPortDescriptorState-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol SimDeviceIOPortDescriptorState 11 | @property (readonly, nonatomic) int powerState; 12 | @end 13 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/SimDeviceNotifier-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol SimDeviceNotifier 11 | - (BOOL)unregisterNotificationHandler:(unsigned long long)arg1 error:(id *)arg2; 12 | - (unsigned long long)registerNotificationHandlerOnQueue:(NSObject *)arg1 handler:(void (^)(NSDictionary *))arg2; 13 | 14 | // Removed in Xcode 11.0 15 | @optional; 16 | - (unsigned long long)registerNotificationHandler:(void (^)(NSDictionary *))arg1; 17 | 18 | @end 19 | 20 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/SimDeviceSet+Removed.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface SimDeviceSet (Removed) 11 | 12 | /** 13 | Removed in Xcode 8.1. 14 | */ 15 | + (instancetype)defaultSet; 16 | + (instancetype)setForSetPath:(NSString *)setPath; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/SimDeviceType+Removed.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface SimDeviceType (Removed) 11 | 12 | /** 13 | Removed in Xcode 8.1. 14 | */ 15 | + (NSArray *)supportedDeviceTypes; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/SimDisplayDescriptorState-Protocol.h: -------------------------------------------------------------------------------- 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 9 | #import 10 | 11 | @protocol SimDisplayDescriptorState 12 | @property (readonly, nonatomic) unsigned int defaultPixelFormat; 13 | @property (readonly, nonatomic) unsigned int defaultHeightForDisplay; 14 | @property (readonly, nonatomic) unsigned int defaultWidthForDisplay; 15 | @property (readonly, nonatomic) unsigned short displayClass; 16 | @end 17 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/SimLocalThrowable.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface SimLocalThrowable : NSObject 11 | { 12 | id _data; 13 | } 14 | 15 | + (id)throwableWithData:(id)arg1; 16 | @property (retain, nonatomic) id data; 17 | 18 | - (id)initWithData:(id)arg1; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/SimPasteboard-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class NSArray, NSObject; 11 | @protocol OS_dispatch_queue; 12 | 13 | @protocol SimPasteboard 14 | @property (atomic, copy, readonly) NSArray *items; 15 | @property (atomic, readonly) unsigned long long changeCount; 16 | - (void)setPasteboardAsyncWithItems:(NSArray *)arg1 completionQueue:(NSObject *)arg2 completionHandler:(void (^)(unsigned long long, NSError *))arg3; 17 | - (unsigned long long)setPasteboardWithItems:(NSArray *)arg1 error:(id *)arg2; 18 | @end 19 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/SimPasteboardItemData.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class NSString; 11 | @protocol NSSecureCoding; 12 | 13 | @interface SimPasteboardItemData : NSObject 14 | { 15 | NSString *_type; 16 | NSObject *_value; 17 | } 18 | 19 | @property (retain, nonatomic) NSObject *value; 20 | @property (nonatomic, copy) NSString *type; 21 | 22 | - (id)initWithType:(id)arg1 value:(id)arg2; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/SimPasteboardItemDataProvider-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class NSObject, NSString, SimPasteboardItem; 11 | @protocol NSSecureCoding; 12 | 13 | @protocol SimPasteboardItemDataProvider 14 | - (NSObject *)retrieveValueForSimPasteboardItem:(SimPasteboardItem *)arg1 type:(NSString *)arg2; 15 | @end 16 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/SimPasteboardItemWrappedData.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | @class NSData; 13 | 14 | @interface SimPasteboardItemWrappedData : NSObject 15 | { 16 | NSData *_wrappedData; 17 | } 18 | 19 | + (BOOL)supportsSecureCoding; 20 | @property (retain, nonatomic) NSData *wrappedData; 21 | 22 | - (void)encodeWithCoder:(id)arg1; 23 | - (id)initWithCoder:(id)arg1; 24 | - (id)initWithData:(id)arg1; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/SimPasteboardSyncPoolObject.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface SimPasteboardSyncPoolObject : NSObject 11 | { 12 | unsigned long long _lastSeenChangeCount; 13 | unsigned long long _regID; 14 | } 15 | 16 | @property (nonatomic, assign) unsigned long long regID; 17 | @property (nonatomic, assign) unsigned long long lastSeenChangeCount; 18 | - (id)initWithPasteboard:(id)arg1; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/SimPasteboardSyncPoolProtocol-Protocol.h: -------------------------------------------------------------------------------- 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 | @class NSObject, NSUUID; 9 | @protocol SimPasteboard; 10 | 11 | @protocol SimPasteboardSyncPoolProtocol 12 | @property (readonly, retain, nonatomic) NSUUID *poolIdentifier; 13 | - (BOOL)removePasteboard:(NSObject *)arg1 withError:(id *)arg2; 14 | - (BOOL)addPasteboard:(NSObject *)arg1 withError:(id *)arg2; 15 | @end 16 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/SimRuntime+Removed.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface SimRuntime (Removed) 11 | 12 | /** 13 | Removed in Xcode 8.1 14 | */ 15 | + (NSArray *)supportedRuntimes; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /PrivateHeaders/CoreSimulator/SimRuntimePairingReuirements.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class NSArray; 11 | 12 | @interface SimRuntimePairingReuirements : NSObject 13 | { 14 | unsigned int _minOSVersion; 15 | NSArray *_supportedProductFamilies; 16 | unsigned long long _maxPairs; 17 | } 18 | 19 | @property (nonatomic, assign) unsigned long long maxPairs; 20 | @property (copy, nonatomic) NSArray *supportedProductFamilies; 21 | @property (nonatomic, assign) unsigned int minOSVersion; 22 | 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /PrivateHeaders/DTXConnectionServices/CDStructures.h: -------------------------------------------------------------------------------- 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 | #pragma mark Blocks 9 | 10 | typedef void (*CDUnknownFunctionPointerType)(void); // return type and parameters are unknown 11 | 12 | typedef void (^CDUnknownBlockType)(void); // return type and parameters are unknown 13 | 14 | -------------------------------------------------------------------------------- /PrivateHeaders/DTXConnectionServices/DTXAllowedRPC-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol DTXAllowedRPC 11 | @end 12 | 13 | -------------------------------------------------------------------------------- /PrivateHeaders/DTXConnectionServices/DTXBlockCompressor-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol DTXBlockCompressor 11 | - (_Bool)uncompressBuffer:(const char *)arg1 ofLength:(unsigned long long)arg2 toBuffer:(char *)arg3 withKnownUncompressedLength:(unsigned long long)arg4 usingCompressionType:(int)arg5; 12 | - (unsigned long long)compressBuffer:(const char *)arg1 ofLength:(unsigned long long)arg2 toBuffer:(char *)arg3 ofLength:(unsigned long long)arg4 usingCompressionType:(int)arg5 withFinalCompressionType:(int *)arg6; 13 | @end 14 | 15 | -------------------------------------------------------------------------------- /PrivateHeaders/DTXConnectionServices/DTXBlockCompressorFactory.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface DTXBlockCompressorFactory : NSObject 11 | { 12 | } 13 | 14 | + (id)createLibCompressionBlockCompressor; 15 | + (id)createLibFastCompressionBlockCompressor; 16 | + (id)createBlockCompressor; 17 | 18 | @end 19 | 20 | -------------------------------------------------------------------------------- /PrivateHeaders/DTXConnectionServices/DTXConnectionRemoteReceiveQueueCalls-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol DTXAllowedRPC; 11 | 12 | @protocol DTXConnectionRemoteReceiveQueueCalls 13 | - (void)_notifyCompressionHint:(unsigned int)arg1 forChannelCode:(unsigned int)arg2; 14 | - (void)_setTracerState:(unsigned int)arg1; 15 | - (void)_channelCanceled:(unsigned int)arg1; 16 | - (void)_notifyOfPublishedCapabilities:(NSDictionary *)arg1; 17 | - (void)_requestChannelWithCode:(unsigned int)arg1 identifier:(NSString *)arg2; 18 | @end 19 | 20 | -------------------------------------------------------------------------------- /PrivateHeaders/DTXConnectionServices/DTXDecompressionException.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface DTXDecompressionException : NSException 11 | { 12 | } 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /PrivateHeaders/DTXConnectionServices/DTXLegacyBufferMessage.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | @interface DTXLegacyBufferMessage : DTXMessage 13 | { 14 | } 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /PrivateHeaders/DTXConnectionServices/DTXLegacyCompactDictionaryAdapter.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface DTXLegacyCompactDictionaryAdapter : NSObject 11 | { 12 | } 13 | 14 | - (id)initWithCoder:(id)arg1; 15 | - (void)encodeWithCoder:(id)arg1; 16 | 17 | @end 18 | 19 | -------------------------------------------------------------------------------- /PrivateHeaders/DTXConnectionServices/DTXLegacyDictionaryMessage.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | @interface DTXLegacyDictionaryMessage : DTXMessage 13 | { 14 | } 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /PrivateHeaders/DTXConnectionServices/DTXLegacyMessageParser.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | @interface DTXLegacyMessageParser : DTXMessageParser 13 | { 14 | NSMutableArray *_savedKeyArrays; 15 | } 16 | 17 | + (void)initialize; 18 | - (id)parseMessageWithExceptionHandler:(CDUnknownBlockType)arg1; 19 | - (void)dealloc; 20 | - (id)initWithMessageHandler:(CDUnknownBlockType)arg1 andParseExceptionHandler:(CDUnknownBlockType)arg2; 21 | 22 | @end 23 | 24 | -------------------------------------------------------------------------------- /PrivateHeaders/DTXConnectionServices/DTXLegacyMessageTransmitter.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | @interface DTXLegacyMessageTransmitter : DTXMessageTransmitter 13 | { 14 | } 15 | 16 | - (void)transmitMessage:(id)arg1 routingInfo:(void *)arg2 fragment:(unsigned int)arg3 transmitter:(CDUnknownBlockType)arg4; 17 | - (unsigned int)fragmentsForLength:(unsigned long long)arg1; 18 | 19 | @end 20 | 21 | -------------------------------------------------------------------------------- /PrivateHeaders/DTXConnectionServices/DTXLegacyServiceQueueAdapter.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface DTXLegacyServiceQueueAdapter : NSObject 11 | { 12 | } 13 | 14 | - (id)initWithCoder:(id)arg1; 15 | - (void)encodeWithCoder:(id)arg1; 16 | 17 | @end 18 | 19 | -------------------------------------------------------------------------------- /PrivateHeaders/DTXConnectionServices/DTXMessageParsingBuffer.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface DTXMessageParsingBuffer : NSObject 11 | { 12 | void *_buffer; 13 | unsigned long long _filled; 14 | unsigned long long _size; 15 | } 16 | 17 | - (unsigned long long)length; 18 | - (const void *)buffer; 19 | - (void)clear; 20 | - (void)appendBytes:(const void *)arg1 ofLength:(unsigned long long)arg2; 21 | - (void)dealloc; 22 | - (id)initWithSize:(unsigned long long)arg1; 23 | 24 | @end 25 | 26 | -------------------------------------------------------------------------------- /PrivateHeaders/DTXConnectionServices/DTXMessageTransmitter.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface DTXMessageTransmitter : NSObject 11 | { 12 | unsigned int _suggestedFragmentSize; 13 | } 14 | 15 | @property unsigned int suggestedFragmentSize; // @synthesize suggestedFragmentSize=_suggestedFragmentSize; 16 | - (void)transmitMessage:(id)arg1 routingInfo:(void *)arg2 fragment:(unsigned int)arg3 transmitter:(CDUnknownBlockType)arg4; 17 | - (unsigned int)fragmentsForLength:(unsigned long long)arg1; 18 | 19 | @end 20 | 21 | -------------------------------------------------------------------------------- /PrivateHeaders/DTXConnectionServices/DTXRateLimiter-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol DTXRateLimiter 11 | - (void)notifyCompressedData:(unsigned long long)arg1 withUncompressedSize:(unsigned long long)arg2 nanosToCompress:(unsigned long long)arg3 usingCompressionType:(int)arg4; 12 | - (void)spendUnits:(unsigned long long)arg1 onAction:(void (^)(void))arg2; 13 | @end 14 | 15 | -------------------------------------------------------------------------------- /PrivateHeaders/DTXConnectionServices/DTXRemoteInvocationReceipt.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | @interface DTXRemoteInvocationReceipt : NSObject 13 | { 14 | dispatch_queue_t _guard; 15 | CDUnknownBlockType _completionHandler; 16 | id _returnValue; 17 | unsigned int _returnType; 18 | } 19 | 20 | - (void)invokeCompletionWithReturnValue:(id)arg1 error:(id)arg2; 21 | - (void)handleCompletion:(void(^)(NSNumber *version, NSError *error))arg1; 22 | - (void)_checkedAssign:(CDUnknownBlockType)arg1; 23 | - (void)dealloc; 24 | - (id)init; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /PrivateHeaders/DTXConnectionServices/_DTXProxy.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class DTXProxyChannel; 11 | 12 | @interface _DTXProxy : NSObject 13 | { 14 | DTXProxyChannel *_proxyChannel; 15 | } 16 | 17 | - (id)methodSignatureForSelector:(SEL)arg1; 18 | - (void)forwardInvocation:(id)arg1; 19 | - (void)dealloc; 20 | - (id)initWithChannel:(id)arg1; 21 | 22 | @end 23 | 24 | -------------------------------------------------------------------------------- /PrivateHeaders/SimulatorApp/Mach.h: -------------------------------------------------------------------------------- 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 9 | 10 | #pragma pack(push, 4) 11 | 12 | /** 13 | Annotation of the mach_msg_header_t with offsets 14 | */ 15 | typedef struct { 16 | unsigned int msgh_bits; // 0x0 17 | unsigned int msgh_size; // 0x4 18 | unsigned int msgh_remote_port; // 0x8 19 | unsigned int msgh_local_port; // 0xc 20 | unsigned int msgh_voucher_port; // 0x10 21 | int msgh_id; // 0x14 22 | } MachMessageHeader; 23 | 24 | #pragma pack(pop) 25 | -------------------------------------------------------------------------------- /PrivateHeaders/SimulatorBridge/AXPTranslationRuntimeHelper-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class AXPTranslationObject; 11 | 12 | @protocol AXPTranslationRuntimeHelper 13 | 14 | @optional 15 | 16 | - (void)handleNotification:(unsigned long long)arg1 data:(id)arg2 associatedObject:(AXPTranslationObject *)arg3; 17 | 18 | @end 19 | 20 | -------------------------------------------------------------------------------- /PrivateHeaders/SimulatorKit/FoundationXPCProtocolProxyable-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol FoundationXPCProtocolProxyable 11 | @end 12 | -------------------------------------------------------------------------------- /PrivateHeaders/SimulatorKit/SimDeviceBootInfo-SimulatorKit.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface SimDeviceBootInfo (SimulatorKit) 11 | @property (nonatomic, readonly) BOOL isSuccess; 12 | @property (nonatomic, readonly) BOOL isWaitable; 13 | @end 14 | -------------------------------------------------------------------------------- /PrivateHeaders/SimulatorKit/SimDeviceIOPortConsumer-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class NSString, NSUUID; 11 | 12 | @protocol SimDeviceIOPortConsumer 13 | @property (readonly, nonatomic) NSUUID *consumerUUID; 14 | @property (nonatomic, copy, readonly) NSString *consumerIdentifier; 15 | @end 16 | -------------------------------------------------------------------------------- /PrivateHeaders/SimulatorKit/SimDeviceIOPortDescriptorState-Protocol.h: -------------------------------------------------------------------------------- 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 9 | #import 10 | 11 | @protocol SimDeviceIOPortDescriptorState 12 | @property (nonatomic, readonly) int powerState; 13 | @end 14 | -------------------------------------------------------------------------------- /PrivateHeaders/SimulatorKit/SimDeviceIOPortInterface-Protocol.h: -------------------------------------------------------------------------------- 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 9 | #import 10 | 11 | @class NSUUID; 12 | 13 | @protocol SimDeviceIOPortInterface 14 | @property (nonatomic, readonly) id descriptor; 15 | @property (nonatomic, readonly) NSUUID *uuid; 16 | @property (nonatomic, readonly) unsigned short ioPortClass; 17 | @end 18 | -------------------------------------------------------------------------------- /PrivateHeaders/SimulatorKit/SimDeviceIOProtocol-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class NSArray, NSUUID; 11 | @protocol SimDeviceIOPortConsumer, SimDeviceIOPortInterface; 12 | 13 | @protocol SimDeviceIOProtocol 14 | - (void)detachConsumer:(id)arg1 fromPort:(id)arg2; 15 | - (void)attachConsumer:(id)arg1 toPort:(id)arg2; 16 | - (id)ioPortForUUID:(NSUUID *)arg1; 17 | - (NSArray *)ioPorts; 18 | @end 19 | -------------------------------------------------------------------------------- /PrivateHeaders/SimulatorKit/SimDeviceMenuItemPair.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class NSMenuItem; 11 | 12 | @interface SimDeviceMenuItemPair : NSObject 13 | { 14 | NSMenuItem *_primaryMenuItem; 15 | NSMenuItem *_alternateMenuItem; 16 | } 17 | 18 | @property (retain, nonatomic) NSMenuItem *alternateMenuItem; 19 | @property (retain, nonatomic) NSMenuItem *primaryMenuItem; 20 | 21 | 22 | @end 23 | 24 | -------------------------------------------------------------------------------- /PrivateHeaders/SimulatorKit/SimDeviceNotifier-Protocol.h: -------------------------------------------------------------------------------- 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 | @class OS_dispatch_queue; 9 | 10 | @protocol SimDeviceNotifier 11 | - (unsigned long long)registerNotificationHandlerOnQueue:(OS_dispatch_queue *)arg1 handler:(void (^)(NSDictionary *))arg2; 12 | - (BOOL)unregisterNotificationHandler:(unsigned long long)arg1 error:(id *)arg2; 13 | @end 14 | -------------------------------------------------------------------------------- /PrivateHeaders/SimulatorKit/SimDisplayDamageRectangleDelegate-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | @protocol SimDisplayDamageRectangleDelegate 13 | - (void)didReceiveDamageRect:(struct CGRect)arg1; 14 | @end 15 | -------------------------------------------------------------------------------- /PrivateHeaders/SimulatorKit/SimDisplayDescriptorState-Protocol.h: -------------------------------------------------------------------------------- 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 9 | #import 10 | #import 11 | 12 | @protocol SimDisplayDescriptorState 13 | @property (nonatomic, readonly) unsigned int defaultPixelFormat; 14 | @property (nonatomic, readonly) unsigned int defaultHeightForDisplay; 15 | @property (nonatomic, readonly) unsigned int defaultWidthForDisplay; 16 | @property (nonatomic, readonly) unsigned short displayClass; 17 | @end 18 | -------------------------------------------------------------------------------- /PrivateHeaders/SimulatorKit/SimDisplayIOSurfaceRenderableDelegate-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol SimDisplayIOSurfaceRenderableDelegate 11 | - (void)didChangeIOSurface:(id)arg1; 12 | @end 13 | 14 | -------------------------------------------------------------------------------- /PrivateHeaders/SimulatorKit/SimDisplayResizeableRenderable-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol SimDisplayResizeableRenderable 11 | - (void)didChangeOptimizedDisplaySize:(struct CGSize)arg1; 12 | - (void)didChangeDisplaySize:(struct CGSize)arg1; 13 | @end 14 | -------------------------------------------------------------------------------- /PrivateHeaders/SimulatorKit/SimDisplayRotationAngleDelegate-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol SimDisplayRotationAngleDelegate 11 | - (void)didChangeDisplayAngle:(double)arg1; 12 | @end 13 | -------------------------------------------------------------------------------- /PrivateHeaders/SimulatorKit/SimDisplayVideoWriter+Removed.h: -------------------------------------------------------------------------------- 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 9 | 10 | /** 11 | For methods that have been removed from the video writer. 12 | */ 13 | @interface SimDisplayVideoWriter (Removed) 14 | 15 | /** 16 | Both Removed in Xcode 8.3 Beta 2. 17 | */ 18 | + (id)videoWriterForURL:(id)arg1 fileType:(id)arg2; 19 | + (id)videoWriterForDispatchIO:(id)arg1 fileType:(id)arg2; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /PrivateHeaders/SimulatorKit/SimVideoFragmentedMP4File.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface SimVideoFragmentedMP4File : SimVideoMP4File 11 | { 12 | BOOL _firstFrame; 13 | unsigned long long _sequenceNumber; 14 | } 15 | 16 | @property (nonatomic, assign) unsigned long long sequenceNumber; 17 | @property (nonatomic, assign) BOOL firstFrame; 18 | - (void)writeSampleBuffer:(struct opaqueCMSampleBuffer *)arg1 completionQueue:(id)arg2 completionHandler:(CDUnknownBlockType)arg3; 19 | - (void)writeMovieWithMedia:(BOOL)arg1; 20 | - (id)initVideoFileForDispatchIO:(id)arg1 error:(id *)arg2; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /PrivateHeaders/SimulatorKit/SimVideoH264File.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface SimVideoH264File : SimVideoFile 11 | { 12 | } 13 | 14 | + (BOOL)isSampleBufferIFrame:(struct opaqueCMSampleBuffer *)arg1; 15 | - (void)writeSampleBuffer:(struct opaqueCMSampleBuffer *)arg1 completionQueue:(id)arg2 completionHandler:(CDUnknownBlockType)arg3; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/DTXConnection-XCTestAdditions.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface DTXConnection (XCTestAdditions) 11 | 12 | - (id)xct_makeProxyChannelWithRemoteInterface:(id)arg1 exportedInterface:(id)arg2; 13 | - (void)xct_handleProxyRequestForInterface:(id)arg1 peerInterface:(id)arg2 handler:(id)arg3; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/DTXProxyChannel-XCTestAdditions.h: -------------------------------------------------------------------------------- 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 9 | 10 | @interface DTXProxyChannel (XCTestAdditions) 11 | - (void)xct_setAllowedClassesForTestingProtocols; 12 | @end 13 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingChannel_DaemonRecorderToIDE-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTMessagingRole_UIAutomationEventReporting, _XCTMessaging_VoidProtocol; 11 | 12 | @protocol XCTMessagingChannel_DaemonRecorderToIDE 13 | 14 | @optional 15 | - (void)__dummy_method_to_work_around_68987191; 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingChannel_DaemonToIDE-Protocol.h: -------------------------------------------------------------------------------- 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 "XCTMessagingRole_CrashReporting-Protocol.h" 9 | #import "XCTMessagingRole_DebugLogging-Protocol.h" 10 | #import "XCTMessagingRole_SelfDiagnosisIssueReporting-Protocol.h" 11 | #import "_XCTMessaging_VoidProtocol-Protocol.h" 12 | 13 | @protocol XCTMessagingChannel_DaemonToIDE 14 | 15 | @optional 16 | - (void)__dummy_method_to_work_around_68987191; 17 | @end 18 | 19 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingChannel_DaemonToIDE_All-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTMessagingChannel_DaemonToIDE, XCTMessagingChannel_DaemonRecorderToIDE, _XCTMessaging_VoidProtocol; 11 | 12 | @protocol XCTMessagingChannel_DaemonToIDE_All 13 | 14 | @optional 15 | - (void)__dummy_method_to_work_around_68987191; 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingChannel_DaemonToRunner-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTMessagingRole_UIApplicationStateUpdating, XCTMessagingRole_AccessibilityNotificationReporting, _XCTMessaging_VoidProtocol; 11 | 12 | @protocol XCTMessagingChannel_DaemonToRunner 13 | 14 | @optional 15 | - (void)__dummy_method_to_work_around_68987191; 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingChannel_IDEToDaemon-Protocol.h: -------------------------------------------------------------------------------- 1 | #import "XCTMessagingRole_ControlSessionInitiation-Protocol.h" 2 | #import "XCTMessagingRole_DiagnosticsCollection-Protocol.h" 3 | #import "XCTMessagingRole_RunnerSessionInitiation-Protocol.h" 4 | #import "XCTMessagingRole_UIRecordingControl-Protocol.h" 5 | #import "_XCTMessaging_VoidProtocol-Protocol.h" 6 | 7 | @protocol XCTMessagingChannel_IDEToDaemon 8 | 9 | @optional 10 | - (void)__dummy_method_to_work_around_68987191; 11 | @end 12 | 13 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingChannel_IDEToRunner-Protocol.h: -------------------------------------------------------------------------------- 1 | #import "XCTMessagingRole_ProcessMonitoring-Protocol.h" 2 | #import "XCTMessagingRole_TestExecution-Protocol.h" 3 | #import "XCTMessagingRole_TestExecution_Legacy-Protocol.h" 4 | #import "_XCTMessaging_VoidProtocol-Protocol.h" 5 | 6 | @protocol XCTMessagingChannel_IDEToRunner 7 | 8 | @optional 9 | - (void)__dummy_method_to_work_around_68987191; 10 | @end 11 | 12 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingChannel_RunnerToUIProcess-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTMessagingRole_UIAutomationProcess, _XCTMessaging_VoidProtocol; 11 | 12 | @protocol XCTMessagingChannel_RunnerToUIProcess 13 | 14 | @optional 15 | - (void)__dummy_method_to_work_around_68987191; 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_AccessibilityNotificationReporting-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class XCAccessibilityElement; 11 | 12 | @protocol XCTMessagingRole_AccessibilityNotificationReporting 13 | - (void)_XCT_receivedAccessibilityNotification:(int)arg1 fromElement:(XCAccessibilityElement *)arg2 payload:(NSData *)arg3; 14 | - (void)_XCT_receivedAccessibilityNotification:(int)arg1 withPayload:(NSData *)arg2; 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_ActivityReporting-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class XCActivityRecord, XCTTestIdentifier; 11 | 12 | @protocol XCTMessagingRole_ActivityReporting 13 | - (id)_XCT_testCaseWithIdentifier:(XCTTestIdentifier *)arg1 didFinishActivity:(XCActivityRecord *)arg2; 14 | - (id)_XCT_testCaseWithIdentifier:(XCTTestIdentifier *)arg1 willStartActivity:(XCActivityRecord *)arg2; 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_ActivityReporting_Legacy-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class XCActivityRecord; 11 | 12 | @protocol XCTMessagingRole_ActivityReporting_Legacy 13 | - (id)_XCT_testCase:(NSString *)arg1 method:(NSString *)arg2 didFinishActivity:(XCActivityRecord *)arg3; 14 | - (id)_XCT_testCase:(NSString *)arg1 method:(NSString *)arg2 willStartActivity:(XCActivityRecord *)arg3; 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_BundleRequesting-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTMessagingRole_BundleRequesting 11 | - (void)_XCT_requestBundleIDForPID:(int)arg1 reply:(void (^)(NSString *, NSError *))arg2; 12 | @end 13 | 14 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_ControlSessionInitiation-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class XCTCapabilities; 11 | 12 | @protocol XCTMessagingRole_ControlSessionInitiation 13 | - (id)_IDE_authorizeTestSessionWithProcessID:(NSNumber *)arg1; 14 | - (id)_IDE_initiateControlSessionWithCapabilities:(XCTCapabilities *)arg1; 15 | - (id)_IDE_initiateControlSessionWithProtocolVersion:(NSNumber *)arg1; 16 | - (id)_IDE_initiateControlSessionForTestProcessID:(NSNumber *)arg1 protocolVersion:(NSNumber *)arg2; 17 | - (id)_IDE_initiateControlSessionForTestProcessID:(NSNumber *)arg1; 18 | @end 19 | 20 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_CrashReporting-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTMessagingRole_CrashReporting 11 | - (id)_XCT_handleCrashReportData:(NSData *)arg1 fromFileWithName:(NSString *)arg2; 12 | @end 13 | 14 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_DebugLogging-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTMessagingRole_DebugLogging 11 | - (id)_XCT_logDebugMessage:(NSString *)arg1; 12 | @end 13 | 14 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_DiagnosticsCollection-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class XCTSpindumpRequestSpecification; 11 | 12 | @protocol XCTMessagingRole_DiagnosticsCollection 13 | - (id)_IDE_requestSpindumpWithSpecification:(XCTSpindumpRequestSpecification *)arg1; 14 | - (id)_IDE_requestSpindump; 15 | - (id)_IDE_requestLogArchiveWithStartDate:(NSDate *)arg1; 16 | - (id)_IDE_collectNewCrashReportsInDirectories:(NSArray *)arg1 matchingProcessNames:(NSArray *)arg2; 17 | @end 18 | 19 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_ForcePressureSupportQuerying-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class XCSynthesizedEventRecord; 11 | 12 | @protocol XCTMessagingRole_ForcePressureSupportQuerying 13 | - (void)_XCT_synthesizeEvent:(XCSynthesizedEventRecord *)arg1 implicitConfirmationInterval:(double)arg2 completion:(void (^)(NSError *))arg3; 14 | - (void)_XCT_postTelemetryData:(NSData *)arg1 reply:(void (^)(NSError *))arg2; 15 | - (void)_XCT_requestPressureEventsSupported:(void (^)(_Bool, NSError *))arg1; 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_MemoryTesting-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTMessagingRole_MemoryTesting 11 | @end 12 | 13 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_PerformanceMeasurementReporting-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class XCTTestIdentifier; 11 | 12 | @protocol XCTMessagingRole_PerformanceMeasurementReporting 13 | - (id)_XCT_testCaseWithIdentifier:(XCTTestIdentifier *)arg1 didMeasureMetric:(NSDictionary *)arg2 file:(NSString *)arg3 line:(NSNumber *)arg4; 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_PerformanceMeasurementReporting_Legacy-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTMessagingRole_PerformanceMeasurementReporting_Legacy 11 | - (id)_XCT_testMethod:(NSString *)arg1 ofClass:(NSString *)arg2 didMeasureMetric:(NSDictionary *)arg3 file:(NSString *)arg4 line:(NSNumber *)arg5; 12 | @end 13 | 14 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_ProcessMonitoring-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTMessagingRole_ProcessMonitoring 11 | - (id)_IDE_processWithToken:(NSNumber *)arg1 exitedWithStatus:(NSNumber *)arg2; 12 | - (id)_IDE_stopTrackingProcessWithToken:(NSNumber *)arg1; 13 | - (id)_IDE_processWithBundleID:(NSString *)arg1 path:(NSString *)arg2 pid:(NSNumber *)arg3 crashedUnderSymbol:(NSString *)arg4; 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_ProtectedResourceAuthorization-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTMessagingRole_ProtectedResourceAuthorization 11 | - (void)_XCT_resetAuthorizationStatusForBundleIdentifier:(NSString *)arg1 resourceIdentifier:(NSString *)arg2 reply:(void (^)(_Bool, NSError *))arg3; 12 | @end 13 | 14 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_RunnerSessionInitiation-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class XCTCapabilities; 11 | 12 | @protocol XCTMessagingRole_RunnerSessionInitiation 13 | - (id)_IDE_initiateSessionWithIdentifier:(NSUUID *)arg1 forClient:(NSString *)arg2 atPath:(NSString *)arg3 protocolVersion:(NSNumber *)arg4; 14 | - (id)_IDE_initiateSessionWithIdentifier:(NSUUID *)arg1 capabilities:(XCTCapabilities *)arg2; 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_SelfDiagnosisIssueReporting-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTMessagingRole_SelfDiagnosisIssueReporting 11 | - (id)_XCT_reportSelfDiagnosisIssue:(NSString *)arg1 description:(NSString *)arg2; 12 | @end 13 | 14 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_SiriAutomation-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTMessagingRole_SiriAutomation 11 | - (void)_XCT_injectVoiceRecognitionAudioInputPaths:(NSArray *)arg1 completion:(void (^)(_Bool, NSError *))arg2; 12 | - (void)_XCT_injectAssistantRecognitionStrings:(NSArray *)arg1 completion:(void (^)(_Bool, NSError *))arg2; 13 | - (void)_XCT_startSiriUIRequestWithAudioFileURL:(NSURL *)arg1 completion:(void (^)(_Bool, NSError *))arg2; 14 | - (void)_XCT_startSiriUIRequestWithText:(NSString *)arg1 completion:(void (^)(_Bool, NSError *))arg2; 15 | - (void)_XCT_requestSiriEnabledStatus:(void (^)(_Bool, NSError *))arg1; 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_TestExecution-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @class XCTTestIdentifierSet; 11 | 12 | @protocol XCTMessagingRole_TestExecution 13 | - (id)_IDE_shutdown; 14 | - (id)_IDE_executeTestsWithIdentifiersToRun:(XCTTestIdentifierSet *)arg1 identifiersToSkip:(XCTTestIdentifierSet *)arg2; 15 | - (id)_IDE_fetchParallelizableTestIdentifiers; 16 | - (id)_IDE_startExecutingTestPlanWithProtocolVersion:(NSNumber *)arg1; 17 | @end 18 | 19 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_TestExecution_Legacy-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTMessagingRole_TestExecution_Legacy 11 | - (id)_IDE_executeTestIdentifiers:(NSSet *)arg1 skippingTestIdentifiers:(NSSet *)arg2; 12 | - (id)_IDE_fetchDiscoveredTestClasses; 13 | @end 14 | 15 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_UIApplicationStateUpdating-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTMessagingRole_UIApplicationStateUpdating 11 | - (void)_XCT_applicationWithBundleID:(NSString *)arg1 didUpdatePID:(int)arg2 andState:(unsigned long long)arg3; 12 | @end 13 | 14 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_UIAutomation-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTMessagingRole_UIAutomation 11 | - (id)_XCT_getProgressForLaunch:(id)arg1; 12 | - (id)_XCT_terminateProcess:(id)arg1; 13 | - (id)_XCT_launchProcessWithPath:(NSString *)arg1 bundleID:(NSString *)arg2 arguments:(NSArray *)arg3 environmentVariables:(NSDictionary *)arg4; 14 | - (id)_XCT_initializationForUITestingDidFailWithError:(NSError *)arg1; 15 | - (id)_XCT_didBeginInitializingForUITesting; 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTMessagingRole_UIRecordingControl-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTMessagingRole_UIRecordingControl 11 | - (id)_IDE_stopRecording; 12 | - (id)_IDE_startRecordingProcessPID:(NSNumber *)arg1 applicationSnapshotAttributes:(NSArray *)arg2 applicationSnapshotParameters:(NSDictionary *)arg3 elementSnapshotAttributes:(NSArray *)arg4 elementSnapshotParameters:(NSDictionary *)arg5 simpleTargetGestureNames:(NSArray *)arg6; 13 | @end 14 | 15 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTestDriverInterface-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTestDriverInterface 11 | - (id)_IDE_startExecutingTestPlanWithProtocolVersion:(NSNumber *)arg1; 12 | 13 | // iOS 10.x specific 14 | - (id)_IDE_processWithToken:(NSNumber *)arg1 exitedWithStatus:(NSNumber *)arg2; 15 | - (id)_IDE_stopTrackingProcessWithToken:(NSNumber *)arg1; 16 | - (id)_IDE_processWithBundleID:(NSString *)arg1 path:(NSString *)arg2 pid:(NSNumber *)arg3 crashedUnderSymbol:(NSString *)arg4; 17 | 18 | @optional 19 | - (id)_IDE_startExecutingTestPlanWhenReady; 20 | @end 21 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/XCTestManager_TestsInterface-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol XCTestManager_TestsInterface 11 | - (void)_XCT_applicationWithBundleID:(NSString *)arg1 didUpdatePID:(int)arg2 andState:(unsigned long long)arg3; 12 | // iOS 10.x specific 13 | - (void)_XCT_receivedAccessibilityNotification:(int)arg1 withPayload:(NSData *)arg2; 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /PrivateHeaders/XCTestPrivate/_XCTMessaging_VoidProtocol-Protocol.h: -------------------------------------------------------------------------------- 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 9 | 10 | @protocol _XCTMessaging_VoidProtocol 11 | @end 12 | 13 | -------------------------------------------------------------------------------- /Shims/Binaries/.empty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/Shims/Binaries/.empty -------------------------------------------------------------------------------- /Shims/Shimulator/Configs/Maculator.xcconfig: -------------------------------------------------------------------------------- 1 | // The config for the Shimulator Dylib 2 | 3 | CURRENT_PROJECT_VERSION = 1 4 | DYLIB_CURRENT_VERSION = 1 5 | DYLIB_COMPATIBILITY_VERSION = 1 6 | PRODUCT_NAME = Maculator 7 | EXECUTABLE_PREFIX = lib 8 | SDKROOT = macosx 9 | MACOSX_DEPLOYMENT_TARGET = 10.13 10 | COPY_PHASE_STRIP = NO 11 | CODE_SIGN_IDENTITY = - // Maculator Shims must be CodeSigned, to work for injection. 12 | -------------------------------------------------------------------------------- /Shims/Shimulator/Configs/Shimulator.xcconfig: -------------------------------------------------------------------------------- 1 | // The config for the Shimulator Dylib 2 | 3 | CURRENT_PROJECT_VERSION = 1 4 | DYLIB_CURRENT_VERSION = 1 5 | DYLIB_COMPATIBILITY_VERSION = 1 6 | PRODUCT_NAME = Shimulator 7 | EXECUTABLE_PREFIX = lib 8 | SDKROOT = iphonesimulator 9 | IPHONEOS_DEPLOYMENT_TARGET = 11.0 10 | COPY_PHASE_STRIP = NO 11 | CODE_SIGN_IDENTITY = - // Simulator Shims must be CodeSigned, to work for injection. 12 | -------------------------------------------------------------------------------- /Shims/Shimulator/Shimulator.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Shims/Shimulator/TestLoadingShim/FBXCTestMain.h: -------------------------------------------------------------------------------- 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 9 | 10 | /* 11 | Loads xctestconfiguration passed by SHIMULATOR_START_XCTEST environment variable 12 | and then loads xctest bundle specified in that configuration 13 | In case SHIMULATOR_START_XCTEST is not present, nothing will get triggered 14 | */ 15 | BOOL FBXCTestMain(void); 16 | -------------------------------------------------------------------------------- /Shims/Shimulator/Tools/FBDebugLog.h: -------------------------------------------------------------------------------- 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 9 | 10 | /* 11 | Logs shims debug messages in case SHIMULATOR_DEBUG is set 12 | */ 13 | void FBDebugLog(NSString *format, ...) NS_FORMAT_FUNCTION(1,2); 14 | -------------------------------------------------------------------------------- /Shims/Shimulator/Tools/FBDebugLog.m: -------------------------------------------------------------------------------- 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 "FBDebugLog.h" 9 | 10 | static NSString *const ShimulatorDebugMode = @"SHIMULATOR_DEBUG"; 11 | 12 | void FBDebugLog(NSString *format, ...) 13 | { 14 | if (!NSProcessInfo.processInfo.environment[ShimulatorDebugMode]) { 15 | return; 16 | } 17 | va_list args; 18 | va_start(args, format); 19 | NSLogv(format, args); 20 | va_end(args); 21 | } 22 | -------------------------------------------------------------------------------- /Shims/Shimulator/Tools/FBRuntimeTools.h: -------------------------------------------------------------------------------- 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 | /** 9 | Method used to retrieve pointer for given symbol 'name' from given 'binary' 10 | 11 | @param binary path to binary we want to retrieve symbols pointer from 12 | @param name name of the symbol 13 | @return pointer to symbol 14 | */ 15 | void *FBRetrieveSymbolFromBinary(const char *binary, const char *name); 16 | 17 | /** 18 | Method used to retrieve pointer for given symbol 'name' from given 'binary' 19 | 20 | @param name name of the symbol 21 | @return pointer to symbol 22 | */ 23 | void *FBRetrieveXCTestSymbol(const char *name); 24 | -------------------------------------------------------------------------------- /Shims/Shimulator/Tools/XCTestCaseHelpers.h: -------------------------------------------------------------------------------- 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 | @class XCTestCase, XCTestSuite, NSString; 9 | 10 | void parseXCTestCase(XCTestCase *testCase, NSString **classNameOut, NSString **methodNameOut, NSString **testKeyOut); 11 | 12 | NSString *parseXCTestSuiteKey(XCTestSuite *suite); 13 | -------------------------------------------------------------------------------- /Shims/Shimulator/Tools/XTSwizzle.h: -------------------------------------------------------------------------------- 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 9 | 10 | void XTSwizzleClassSelectorForFunction(Class cls, SEL sel, IMP newImp) __attribute__((no_sanitize("nullability-arg"))); 11 | 12 | void XTSwizzleSelectorForFunction(Class cls, SEL sel, IMP newImp); 13 | -------------------------------------------------------------------------------- /XCTestBootstrap/MacStrategies/FBMacLaunchedApplication.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @class FBMacDevice; 15 | 16 | @interface FBMacLaunchedApplication : NSObject 17 | 18 | - (instancetype)initWithBundleID:(NSString *)bundleID 19 | processIdentifier:(pid_t)processIdentifier 20 | device:(FBMacDevice *)device 21 | queue:(dispatch_queue_t)queue; 22 | @end 23 | 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /XCTestBootstrap/README.md: -------------------------------------------------------------------------------- 1 | # XCTestBootstrap 2 | 3 | A macOS library for executing XCTest bundles. 4 | 5 | Part of the broader `idb` project. 6 | 7 | ## Usage 8 | 9 | You can use `XCTestBootstrap` directly as a Framework, but you may want to look at using `idb` [as it provides saner defaults](https://www.fbidb.io/docs/test-execution). 10 | -------------------------------------------------------------------------------- /XCTestBootstrap/Reporters/FBExceptionInfo.h: -------------------------------------------------------------------------------- 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 9 | 10 | /** 11 | A summary of an exception. 12 | */ 13 | @interface FBExceptionInfo : NSObject 14 | 15 | @property (nonnull, nonatomic, copy, readonly) NSString *message; 16 | @property (nullable, nonatomic, copy, readonly) NSString *file; 17 | @property (nonatomic, assign, readonly) NSUInteger line; 18 | 19 | - (instancetype _Nonnull)initWithMessage:(nonnull NSString *)message file:(nullable NSString *)file line:(NSUInteger)line; 20 | 21 | - (instancetype _Nonnull)initWithMessage:(nonnull NSString *)message; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /XCTestBootstrap/TestManager/FBTestReporterAdapter.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | @protocol FBXCTestReporter; 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | Converts Low-Level XCTestManager_IDEInterface Messages to their counterparts in FBXCTestReporter. 18 | */ 19 | @interface FBTestReporterAdapter : NSObject 20 | 21 | /** 22 | Constructs a Report Adapter. 23 | 24 | @param reporter the reporter to report to. 25 | @return a new adapter. 26 | */ 27 | + (instancetype)withReporter:(id)reporter; 28 | 29 | @end 30 | 31 | NS_ASSUME_NONNULL_END 32 | -------------------------------------------------------------------------------- /XCTestBootstrap/Utility/FBOToolDynamicLibs.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface FBOToolDynamicLibs : NSObject 15 | 16 | + (FBFuture *)findFullPathForSanitiserDyldInBundle:(NSString *)bundlePath onQueue:(nonnull dispatch_queue_t)queue; 17 | 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /XCTestBootstrap/Utility/FBOToolOperation.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface FBOToolOperation : NSObject 15 | 16 | +(FBFuture*>*)listSanitiserDylibsRequiredByBundle:(NSString*)testBundlePath onQueue:(dispatch_queue_t)queue; 17 | 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /XCTestBootstrap/Utility/FBXCTestResultBundleParser.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | #import 12 | 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | @protocol FBiOSTarget; 17 | 18 | @interface FBXCTestResultBundleParser : NSObject 19 | 20 | + (FBFuture *)parse:(NSString *)resultBundlePath target:(id)target reporter:(id)reporter logger:(id)logger extractScreenshots:(BOOL)extractScreenshots; 21 | 22 | @end 23 | 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /XCTestBootstrap/Utility/FBXCTestRunner.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | /** 15 | A common protocol for types of test execution. 16 | */ 17 | @protocol FBXCTestRunner 18 | 19 | /** 20 | Executes the Tests. 21 | 22 | @return a Future that resolves when the test has finished. 23 | */ 24 | - (FBFuture *)execute; 25 | 26 | @end 27 | 28 | NS_ASSUME_NONNULL_END 29 | -------------------------------------------------------------------------------- /XCTestBootstrap/Utility/XCTestBootstrapFrameworkLoader.h: -------------------------------------------------------------------------------- 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 9 | 10 | #import 11 | 12 | /** 13 | Framework and Class Loading for XCTestBoostrap. 14 | */ 15 | @interface XCTestBootstrapFrameworkLoader : FBControlCoreFrameworkLoader 16 | 17 | /** 18 | All of the Frameworks for XCTestBootstrap. 19 | */ 20 | @property (nonatomic, strong, class, readonly) XCTestBootstrapFrameworkLoader *allDependentFrameworks; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /XCTestBootstrap/Utility/XCTestBootstrapFrameworkLoader.m: -------------------------------------------------------------------------------- 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 "XCTestBootstrapFrameworkLoader.h" 9 | 10 | @implementation XCTestBootstrapFrameworkLoader 11 | 12 | #pragma mark Initializers 13 | 14 | + (instancetype)allDependentFrameworks 15 | { 16 | static dispatch_once_t onceToken; 17 | static XCTestBootstrapFrameworkLoader *loader; 18 | dispatch_once(&onceToken, ^{ 19 | loader = [XCTestBootstrapFrameworkLoader loaderWithName:@"XCTestBootstrap" frameworks:@[ 20 | FBWeakFramework.DTXConnectionServices, 21 | FBWeakFramework.XCTest, 22 | ]]; 23 | }); 24 | return loader; 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /XCTestBootstrap/XCTestBootstrap.xcconfig: -------------------------------------------------------------------------------- 1 | // Import Shared & Framework Configuration 2 | #include "../Configuration/Shared.xcconfig" 3 | #include "../Configuration/Framework.xcconfig" 4 | 5 | // Target-Specific Settings 6 | DEFINES_MODULE = YES; 7 | INFOPLIST_FILE = $(SRCROOT)/XCTestBootstrap/XCTestBootstrap-Info.plist 8 | LD_RUNPATH_SEARCH_PATHS = @loader_path/Frameworks 9 | PRODUCT_BUNDLE_IDENTIFIER = com.facebook.XCTestBootstrap 10 | PRODUCT_NAME = XCTestBootstrap -------------------------------------------------------------------------------- /XCTestBootstrapTests/Fixtures/FBXCTestBootstrapFixtures.h: -------------------------------------------------------------------------------- 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 9 | #import 10 | 11 | @class FBBundleDescriptor; 12 | 13 | /** 14 | Fetching Fixtures, causing test failures if they cannot be obtained. 15 | */ 16 | @interface XCTestCase (FBXCTestBootstrapFixtures) 17 | 18 | /** 19 | An iOS Unit Test Bundle. 20 | */ 21 | + (NSBundle *)iosUnitTestBundleFixture; 22 | 23 | /** 24 | An macOS Unit Test Bundle. 25 | */ 26 | + (NSBundle *)macUnitTestBundleFixture; 27 | 28 | /** 29 | An macOS dummy application 30 | */ 31 | + (FBBundleDescriptor *)macCommonApplicationWithError:(NSError **)error; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /XCTestBootstrapTests/XCTestBootstrapTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.facebook.XCTestBootstrapTests 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /XCTestBootstrapTests/XCTestBootstrapTests.xcconfig: -------------------------------------------------------------------------------- 1 | // Import Shared Configuration 2 | #include "../Configuration/Shared.xcconfig" 3 | 4 | // Target-Specific Settings 5 | INFOPLIST_FILE = $(SRCROOT)/XCTestBootstrapTests/XCTestBootstrapTests-Info.plist; 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/../Frameworks @loader_path/../Frameworks 7 | PRODUCT_BUNDLE_IDENTIFIER = com.facebook.XCTestBootstrapTests 8 | PRODUCT_NAME = XCTestBootstrapTests 9 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | 3 | services: 4 | docusaurus: 5 | build: . 6 | ports: 7 | - 3000:3000 8 | - 35729:35729 9 | volumes: 10 | - ./docs:/app/docs 11 | - ./website/blog:/app/website/blog 12 | - ./website/core:/app/website/core 13 | - ./website/i18n:/app/website/i18n 14 | - ./website/pages:/app/website/pages 15 | - ./website/static:/app/website/static 16 | - ./website/sidebars.json:/app/website/sidebars.json 17 | - ./website/siteConfig.js:/app/website/siteConfig.js 18 | working_dir: /app/website 19 | -------------------------------------------------------------------------------- /fbxctest/FBXCTestKit/FBXCTestKit.xcconfig: -------------------------------------------------------------------------------- 1 | // Import Shared & Framework Configuration 2 | #include "../../Configuration/Shared.xcconfig" 3 | #include "../../Configuration/Framework.xcconfig" 4 | 5 | // Target Specific Settings 6 | INFOPLIST_FILE = $(PROJECT_DIR)/FBXCTestKit/Info.plist 7 | LD_RUNPATH_SEARCH_PATHS = @executable_path 8 | PRODUCT_BUNDLE_IDENTIFIER = com.facebook.FBXCTestKit 9 | PRODUCT_NAME = FBXCTestKit 10 | -------------------------------------------------------------------------------- /fbxctest/FBXCTestKitTests/FBXCTestKitTests.xcconfig: -------------------------------------------------------------------------------- 1 | // Import Shared & Framework Configuration 2 | #include "../../Configuration/Shared.xcconfig" 3 | 4 | // Target Specific Settings 5 | INFOPLIST_FILE = $(PROJECT_DIR)/FBXCTestKitTests/Info.plist 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/../Frameworks @loader_path/../Frameworks 7 | PRODUCT_BUNDLE_IDENTIFIER = com.facebook.FBXCTestKitTests 8 | PRODUCT_NAME = FBXCTestKitTests 9 | -------------------------------------------------------------------------------- /fbxctest/FBXCTestKitTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | com.facebook.FBXCTestKitTests 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /fbxctest/FBXCTestKitTests/Utilities/XCTestCase+FBXCTestKitTests.h: -------------------------------------------------------------------------------- 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 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @class FBXCTestLogger; 14 | 15 | /** 16 | A logger for tests. 17 | */ 18 | @interface XCTestCase (Logger) 19 | 20 | /** 21 | A unique logger for tests 22 | */ 23 | - (FBXCTestLogger *)logger; 24 | 25 | /** 26 | Some tests are flakier on travis, this is a temporary way of disabling them until they are improved. 27 | */ 28 | + (BOOL)isRunningOnTravis; 29 | 30 | @end 31 | 32 | NS_ASSUME_NONNULL_END 33 | -------------------------------------------------------------------------------- /fbxctest/README.md: -------------------------------------------------------------------------------- 1 | # `fbxctest` 2 | 3 | `fbxctest` acts as a commandline for leveraging `XCTestBootrap` via `xctool`'s command line interface and json output. 4 | 5 | Over time, the test execution aspects of `idb` will come to replace all of it's functionality in a single place. For now, it acts as a replacement for `xctool` that is integrated directly in `buck`. 6 | -------------------------------------------------------------------------------- /fbxctest/fbxctest.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /fbxctest/fbxctest.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /fbxctest/fbxctest/fbxctest.xcconfig: -------------------------------------------------------------------------------- 1 | // Import Shared & Framework Configuration 2 | #include "../../Configuration/Shared.xcconfig" 3 | 4 | // Target Specific Settings 5 | PRODUCT_NAME = fbxctest 6 | PRODUCT_BUNDLE_IDENTIFIER = com.facebook.fbxctest 7 | LD_RUNPATH_SEARCH_PATHS = @executable_path @executable_path/../Frameworks 8 | -------------------------------------------------------------------------------- /idb/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/idb/__init__.py -------------------------------------------------------------------------------- /idb/cli/commands/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/idb/cli/commands/__init__.py -------------------------------------------------------------------------------- /idb/cli/commands/focus.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 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 | # pyre-strict 8 | 9 | from argparse import Namespace 10 | 11 | from idb.cli import ClientCommand 12 | from idb.common.types import Client 13 | 14 | 15 | class FocusCommand(ClientCommand): 16 | @property 17 | def description(self) -> str: 18 | return "Brings the simulator window to front" 19 | 20 | @property 21 | def name(self) -> str: 22 | return "focus" 23 | 24 | async def run_with_client(self, args: Namespace, client: Client) -> None: 25 | await client.focus() 26 | -------------------------------------------------------------------------------- /idb/cli/commands/keychain.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 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 | # pyre-strict 8 | 9 | from argparse import Namespace 10 | 11 | from idb.cli import ClientCommand 12 | from idb.common.types import Client 13 | 14 | 15 | class KeychainClearCommand(ClientCommand): 16 | @property 17 | def description(self) -> str: 18 | return "Clear the targets keychain" 19 | 20 | @property 21 | def name(self) -> str: 22 | return "clear-keychain" 23 | 24 | async def run_with_client(self, args: Namespace, client: Client) -> None: 25 | await client.clear_keychain() 26 | -------------------------------------------------------------------------------- /idb/cli/commands/kill.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 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 | # pyre-strict 8 | 9 | from argparse import Namespace 10 | 11 | from idb.cli import ManagementCommand 12 | from idb.common.types import ClientManager 13 | 14 | 15 | class KillCommand(ManagementCommand): 16 | @property 17 | def description(self) -> str: 18 | return "Kill the idb daemon" 19 | 20 | @property 21 | def name(self) -> str: 22 | return "kill" 23 | 24 | async def run_with_manager(self, args: Namespace, manager: ClientManager) -> None: 25 | await manager.kill() 26 | -------------------------------------------------------------------------------- /idb/cli/commands/memory.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 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 | # pyre-strict 8 | 9 | from argparse import Namespace 10 | 11 | from idb.cli import ClientCommand 12 | from idb.common.types import Client 13 | 14 | 15 | class SimulateMemoryWarningCommand(ClientCommand): 16 | @property 17 | def description(self) -> str: 18 | return "Simulate a memory warning" 19 | 20 | @property 21 | def name(self) -> str: 22 | return "simulate-memory-warning" 23 | 24 | async def run_with_client(self, args: Namespace, client: Client) -> None: 25 | await client.simulate_memory_warning() 26 | -------------------------------------------------------------------------------- /idb/cli/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/idb/cli/tests/__init__.py -------------------------------------------------------------------------------- /idb/common/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/idb/common/__init__.py -------------------------------------------------------------------------------- /idb/common/file.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 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 | # pyre-strict 8 | 9 | from collections.abc import AsyncIterator 10 | 11 | import aiofiles 12 | 13 | 14 | def get_last_n_lines(file_path: str, n: int) -> str: 15 | with open(file_path) as f: 16 | return "\n".join(f.readlines()[-n:]) 17 | 18 | 19 | async def drain_to_file(stream: AsyncIterator[bytes], file_path: str) -> None: 20 | async with aiofiles.open(file_path, "w+b") as f: 21 | async for data in stream: 22 | await f.write(data) 23 | -------------------------------------------------------------------------------- /idb/common/misc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 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 | # pyre-strict 8 | 9 | import os 10 | from typing import Dict 11 | 12 | 13 | def get_env_with_idb_prefix() -> dict[str, str]: 14 | env = dict(os.environ) 15 | env = {key: env[key] for key in env if key.startswith("IDB_")} 16 | return {key[len("IDB_") :]: env[key] for key in env} 17 | -------------------------------------------------------------------------------- /idb/common/stream.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 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 | # pyre-strict 8 | 9 | from collections.abc import AsyncIterator, Callable 10 | from typing import TypeVar 11 | 12 | 13 | _A = TypeVar("_A") 14 | _B = TypeVar("_B") 15 | 16 | 17 | async def stream_map( 18 | iterator: AsyncIterator[_A], function: Callable[[_A], _B] 19 | ) -> AsyncIterator[_B]: 20 | async for item in iterator: 21 | yield function(item) 22 | -------------------------------------------------------------------------------- /idb/common/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/idb/common/tests/__init__.py -------------------------------------------------------------------------------- /idb/common/tests/networking_tests.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 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 | # pyre-strict 8 | 9 | from idb.common.networking import _get_ports 10 | from idb.utils.testing import ignoreTaskLeaks, TestCase 11 | 12 | 13 | @ignoreTaskLeaks 14 | class NetworkingTests(TestCase): 15 | def test_get_ports(self) -> None: 16 | data = '{"grpc_port": 1235}' 17 | ports = _get_ports(data) 18 | self.assertEqual(ports, (1235)) 19 | -------------------------------------------------------------------------------- /idb/common/udid.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 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 | # pyre-strict 8 | 9 | import re 10 | 11 | 12 | SIMULATOR_UDID = r"^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$" 13 | OLD_DEVICE_UDID = r"^[0-9a-f]{40}$" 14 | NEW_DEVICE_UDID = r"^[0-9]{8}-[0-9A-F]{16}$" 15 | UDID = rf"({SIMULATOR_UDID}|{OLD_DEVICE_UDID}|{NEW_DEVICE_UDID})" 16 | 17 | 18 | def is_udid(udid: str) -> bool: 19 | return bool(re.match(UDID, udid)) 20 | -------------------------------------------------------------------------------- /idb/grpc/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/idb/grpc/__init__.py -------------------------------------------------------------------------------- /idb/grpc/video.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 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 | # pyre-strict 8 | 9 | from collections.abc import AsyncIterator 10 | 11 | from idb.grpc.idb_pb2 import RecordResponse 12 | 13 | 14 | async def generate_video_bytes( 15 | stream: AsyncIterator[RecordResponse], 16 | ) -> AsyncIterator[bytes]: 17 | async for response in stream: 18 | data = response.payload.data 19 | yield data 20 | -------------------------------------------------------------------------------- /idb/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/idb/utils/__init__.py -------------------------------------------------------------------------------- /idb/utils/typing.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 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 | # pyre-strict 8 | 9 | from typing import Optional, TypeVar 10 | 11 | 12 | T = TypeVar("T") 13 | 14 | 15 | def none_throws(optional: T | None) -> T: 16 | assert optional is not None, "Unexpected None" 17 | return optional 18 | -------------------------------------------------------------------------------- /idb_companion.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /idb_companion.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /idb_companion.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /idb_companion.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /idb_companion/Bridging/idb_companion-Bridging-Header.h: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /idb_companion/Configuration/DefaultConfiguration.swift: -------------------------------------------------------------------------------- 1 | // (c) Meta Platforms, Inc. and affiliates. Confidential and proprietary. 2 | 3 | import Foundation 4 | 5 | public enum DefaultConfiguration { 6 | 7 | public static let cacheInvalidationInterval: TimeInterval = 120 // 2 mins 8 | 9 | public static let baseURL = "https://interngraph.intern.facebook.com/" 10 | 11 | public static let urlSessionConfiguration: URLSessionConfiguration = { 12 | let configuration = URLSessionConfiguration.default 13 | let fifteenSeconds: TimeInterval = 15 14 | configuration.timeoutIntervalForRequest = fifteenSeconds 15 | return configuration 16 | }() 17 | } 18 | -------------------------------------------------------------------------------- /idb_companion/Configuration/EmptyEventReporter.swift: -------------------------------------------------------------------------------- 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 FBSimulatorControl 9 | import Foundation 10 | 11 | /// Mock class for OSS implementation. It is easier to have mock than to use optional everywhere. 12 | @objc final class EmptyEventReporter: NSObject, FBEventReporter { 13 | 14 | @objc static let shared = EmptyEventReporter() 15 | 16 | var metadata: [String: String] = [:] 17 | 18 | func report(_ subject: FBEventReporterSubject) {} 19 | func addMetadata(_ metadata: [String: String]) {} 20 | } 21 | -------------------------------------------------------------------------------- /idb_companion/Configuration/IDBConfiguration.swift: -------------------------------------------------------------------------------- 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 FBControlCore 9 | import Foundation 10 | 11 | class IDBConfiguration: NSObject { 12 | 13 | @objc static var eventReporter: FBEventReporter = EmptyEventReporter.shared 14 | @objc static var swiftEventReporter: FBEventReporter = EmptyEventReporter.shared 15 | 16 | static var idbKillswitch: IDBKillswitch = EmptyIDBKillswitch() 17 | 18 | @objc static func getIDBKillswitch() -> IDBKillswitchBridge { 19 | return idbKillswitch.objcBridged 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /idb_companion/Configuration/IDBKillswitch.swift: -------------------------------------------------------------------------------- 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 9 | 10 | enum IDBFeature { 11 | case grpcEndpoint 12 | } 13 | 14 | protocol IDBKillswitch { 15 | func disabled(_ killswitch: IDBFeature) async -> Bool 16 | } 17 | 18 | extension IDBKillswitch { 19 | var objcBridged: IDBKillswitchBridge { 20 | .init(idbKillswitch: self) 21 | } 22 | } 23 | 24 | final class EmptyIDBKillswitch: IDBKillswitch { 25 | func disabled(_ killswitch: IDBFeature) async -> Bool { true } 26 | } 27 | -------------------------------------------------------------------------------- /idb_companion/Configuration/Private/InternGraphRequestor.swift: -------------------------------------------------------------------------------- 1 | // (c) Meta Platforms, Inc. and affiliates. Confidential and proprietary. 2 | 3 | import Foundation 4 | 5 | protocol InternGraphRequestor { 6 | associatedtype Request: Hashable & Sendable 7 | 8 | func read(request: Request, decoder: JSONDecoder) async throws -> FetchResult 9 | } 10 | -------------------------------------------------------------------------------- /idb_companion/SwiftServer/MethodHandlers/ClearKeychainMethodHandler.swift: -------------------------------------------------------------------------------- 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 CompanionLib 9 | import GRPC 10 | import IDBGRPCSwift 11 | 12 | struct ClearKeychainMethodHandler { 13 | 14 | let commandExecutor: FBIDBCommandExecutor 15 | 16 | func handle(request: Idb_ClearKeychainRequest, context: GRPCAsyncServerCallContext) async throws -> Idb_ClearKeychainResponse { 17 | try await BridgeFuture.await(commandExecutor.clear_keychain()) 18 | return .init() 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /idb_companion/SwiftServer/MethodHandlers/ContactsUpdateMethodHandler.swift: -------------------------------------------------------------------------------- 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 CompanionLib 9 | import GRPC 10 | import IDBGRPCSwift 11 | 12 | struct ContactsUpdateMethodHandler { 13 | 14 | let commandExecutor: FBIDBCommandExecutor 15 | 16 | func handle(request: Idb_ContactsUpdateRequest, context: GRPCAsyncServerCallContext) async throws -> Idb_ContactsUpdateResponse { 17 | try await BridgeFuture.await(commandExecutor.update_contacts(request.payload.data)) 18 | return .init() 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /idb_companion/SwiftServer/MethodHandlers/CrashDeleteMethodHandler.swift: -------------------------------------------------------------------------------- 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 CompanionLib 9 | import GRPC 10 | import IDBGRPCSwift 11 | 12 | struct CrashDeleteMethodHandler { 13 | 14 | let commandExecutor: FBIDBCommandExecutor 15 | 16 | func handle(request: Idb_CrashLogQuery, context: GRPCAsyncServerCallContext) async throws -> Idb_CrashLogResponse { 17 | let predicate = CrashLogQueryValueTransformer.predicate(from: request) 18 | let crashes: [FBCrashLogInfo] = try await BridgeFuture.value(commandExecutor.crash_delete(predicate)) 19 | return .with { 20 | $0.list = crashes.map(CrashLogInfoValueTransformer.responseCrashLogInfo(from:)) 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /idb_companion/SwiftServer/MethodHandlers/FocusMethodHandler.swift: -------------------------------------------------------------------------------- 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 CompanionLib 9 | import GRPC 10 | import IDBGRPCSwift 11 | 12 | struct FocusMethodHandler { 13 | 14 | let commandExecutor: FBIDBCommandExecutor 15 | 16 | func handle(request: Idb_FocusRequest, context: GRPCAsyncServerCallContext) async throws -> Idb_FocusResponse { 17 | try await BridgeFuture.await(commandExecutor.focus()) 18 | return .init() 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /idb_companion/SwiftServer/MethodHandlers/ListSettingsMethodHandler.swift: -------------------------------------------------------------------------------- 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 CompanionLib 9 | import GRPC 10 | import IDBGRPCSwift 11 | 12 | struct ListSettingsMethodHandler { 13 | 14 | let commandExecutor: FBIDBCommandExecutor 15 | 16 | func handle(request: Idb_ListSettingRequest, context: GRPCAsyncServerCallContext) async throws -> Idb_ListSettingResponse { 17 | switch request.setting { 18 | case .locale: 19 | return .with { 20 | $0.values = commandExecutor.list_locale_identifiers() 21 | } 22 | case .any, .UNRECOGNIZED: 23 | throw GRPCStatus(code: .invalidArgument, message: "Unknown setting case") 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /idb_companion/SwiftServer/MethodHandlers/MkdirMethodHandler.swift: -------------------------------------------------------------------------------- 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 CompanionLib 9 | import GRPC 10 | import IDBGRPCSwift 11 | 12 | struct MkdirMethodHandler { 13 | 14 | let commandExecutor: FBIDBCommandExecutor 15 | 16 | func handle(request: Idb_MkdirRequest, context: GRPCAsyncServerCallContext) async throws -> Idb_MkdirResponse { 17 | let fileContainer = FileContainerValueTransformer.rawFileContainer(from: request.container) 18 | try await BridgeFuture.await(commandExecutor.create_directory(request.path, containerType: fileContainer)) 19 | return .init() 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /idb_companion/SwiftServer/MethodHandlers/MvMethodHandler.swift: -------------------------------------------------------------------------------- 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 CompanionLib 9 | import GRPC 10 | import IDBGRPCSwift 11 | 12 | struct MvMethodHandler { 13 | 14 | let commandExecutor: FBIDBCommandExecutor 15 | 16 | func handle(request: Idb_MvRequest, context: GRPCAsyncServerCallContext) async throws -> Idb_MvResponse { 17 | let fileContainer = FileContainerValueTransformer.rawFileContainer(from: request.container) 18 | try await BridgeFuture.await(commandExecutor.move_paths(request.srcPaths, to_path: request.dstPath, containerType: fileContainer)) 19 | return .init() 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /idb_companion/SwiftServer/MethodHandlers/OpenUrlMethodHandler.swift: -------------------------------------------------------------------------------- 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 CompanionLib 9 | import GRPC 10 | import IDBGRPCSwift 11 | 12 | struct OpenUrlMethodHandler { 13 | 14 | let commandExecutor: FBIDBCommandExecutor 15 | 16 | func handle(request: Idb_OpenUrlRequest, context: GRPCAsyncServerCallContext) async throws -> Idb_OpenUrlRequest { 17 | try await BridgeFuture.await(commandExecutor.open_url(request.url)) 18 | return .init() 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /idb_companion/SwiftServer/MethodHandlers/RmMethodHandler.swift: -------------------------------------------------------------------------------- 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 CompanionLib 9 | import GRPC 10 | import IDBGRPCSwift 11 | 12 | struct RmMethodHandler { 13 | 14 | let commandExecutor: FBIDBCommandExecutor 15 | 16 | func handle(request: Idb_RmRequest, context: GRPCAsyncServerCallContext) async throws -> Idb_RmResponse { 17 | let fileContainer = FileContainerValueTransformer.rawFileContainer(from: request.container) 18 | try await BridgeFuture.await(commandExecutor.remove_paths(request.paths, containerType: fileContainer)) 19 | return .init() 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /idb_companion/SwiftServer/MethodHandlers/ScreenshotMethodHandler.swift: -------------------------------------------------------------------------------- 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 CompanionLib 9 | import GRPC 10 | import IDBGRPCSwift 11 | 12 | struct ScreenshotMethodHandler { 13 | 14 | let commandExecutor: FBIDBCommandExecutor 15 | 16 | func handle(request: Idb_ScreenshotRequest, context: GRPCAsyncServerCallContext) async throws -> Idb_ScreenshotResponse { 17 | let screenshot = try await BridgeFuture.value(commandExecutor.take_screenshot(.PNG)) 18 | return .with { 19 | $0.imageData = screenshot as Data 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /idb_companion/SwiftServer/MethodHandlers/SendNotificationMethodHandler.swift: -------------------------------------------------------------------------------- 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 CompanionLib 9 | import GRPC 10 | import IDBGRPCSwift 11 | 12 | struct SendNotificationMethodHandler { 13 | 14 | let commandExecutor: FBIDBCommandExecutor 15 | 16 | func handle(request: Idb_SendNotificationRequest, context: GRPCAsyncServerCallContext) async throws -> Idb_SendNotificationResponse { 17 | try await BridgeFuture.await(commandExecutor.sendPushNotification(forBundleID: request.bundleID, jsonPayload: request.jsonPayload)) 18 | return .init() 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /idb_companion/SwiftServer/MethodHandlers/SetLocationMethodHandler.swift: -------------------------------------------------------------------------------- 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 CompanionLib 9 | import GRPC 10 | import IDBGRPCSwift 11 | 12 | struct SetLocationMethodHandler { 13 | 14 | let commandExecutor: FBIDBCommandExecutor 15 | 16 | func handle(request: Idb_SetLocationRequest, context: GRPCAsyncServerCallContext) async throws -> Idb_SetLocationResponse { 17 | try await BridgeFuture.await(commandExecutor.set_location(request.location.latitude, longitude: request.location.longitude)) 18 | return .init() 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /idb_companion/SwiftServer/MethodHandlers/SimulateMemoryWarningMethodHandler.swift: -------------------------------------------------------------------------------- 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 CompanionLib 9 | import GRPC 10 | import IDBGRPCSwift 11 | 12 | struct SimulateMemoryWarningMethodHandler { 13 | 14 | let commandExecutor: FBIDBCommandExecutor 15 | 16 | func handle(request: Idb_SimulateMemoryWarningRequest, context: GRPCAsyncServerCallContext) async throws -> Idb_SimulateMemoryWarningResponse { 17 | try await BridgeFuture.await(commandExecutor.simulateMemoryWarning()) 18 | return .init() 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /idb_companion/SwiftServer/MethodHandlers/TerminateMethodHandler.swift: -------------------------------------------------------------------------------- 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 CompanionLib 9 | import GRPC 10 | import IDBGRPCSwift 11 | 12 | struct TerminateMethodHandler { 13 | 14 | let commandExecutor: FBIDBCommandExecutor 15 | 16 | func handle(request: Idb_TerminateRequest, context: GRPCAsyncServerCallContext) async throws -> Idb_TerminateResponse { 17 | try await BridgeFuture.await(commandExecutor.kill_application(request.bundleID)) 18 | return .init() 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /idb_companion/SwiftServer/MethodHandlers/UninstallMethodHandler.swift: -------------------------------------------------------------------------------- 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 CompanionLib 9 | import GRPC 10 | import IDBGRPCSwift 11 | 12 | struct UninstallMethodHandler { 13 | 14 | let commandExecutor: FBIDBCommandExecutor 15 | 16 | func handle(request: Idb_UninstallRequest, context: GRPCAsyncServerCallContext) async throws -> Idb_UninstallResponse { 17 | try await BridgeFuture.await(commandExecutor.uninstall_application(request.bundleID)) 18 | return .init() 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /idb_companion/SwiftServer/MethodHandlers/XCTestListTestsMethodHandler.swift: -------------------------------------------------------------------------------- 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 CompanionLib 9 | import FBSimulatorControl 10 | import Foundation 11 | import GRPC 12 | import IDBGRPCSwift 13 | 14 | struct XCTestListTestsMethodHandler { 15 | 16 | let commandExecutor: FBIDBCommandExecutor 17 | 18 | func handle(request: Idb_XctestListTestsRequest, context: GRPCAsyncServerCallContext) async throws -> Idb_XctestListTestsResponse { 19 | let tests: [String] = try await BridgeFuture.value( 20 | commandExecutor.list_tests_(in_bundle: request.bundleName, with_app: request.appPath) 21 | ) 22 | return .with { 23 | $0.names = tests 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /idb_companion/SwiftServer/ValueTransformers/CrashLogInfoValueTransformer.swift: -------------------------------------------------------------------------------- 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 FBSimulatorControl 9 | import IDBGRPCSwift 10 | 11 | enum CrashLogInfoValueTransformer { 12 | 13 | static func responseCrashLogInfo(from crash: FBCrashLogInfo) -> Idb_CrashLogInfo { 14 | return .with { 15 | $0.name = crash.name 16 | $0.processName = crash.processName 17 | $0.parentProcessName = crash.parentProcessName 18 | $0.processIdentifier = UInt64(crash.processIdentifier) 19 | $0.parentProcessIdentifier = UInt64(crash.parentProcessIdentifier) 20 | $0.timestamp = UInt64(crash.date.timeIntervalSince1970) 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /idb_companion/Utility/FBControlCoreError+Extension.swift: -------------------------------------------------------------------------------- 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 FBSimulatorControl 9 | 10 | extension FBControlCoreError: @retroactive Error { 11 | } 12 | -------------------------------------------------------------------------------- /idb_companion/Utility/GRPCAsyncResponseStreamWriter+AsyncStreamWriter.swift: -------------------------------------------------------------------------------- 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 GRPC 9 | import IDBCompanionUtilities 10 | 11 | extension GRPCAsyncResponseStreamWriter: @retroactive AsyncStreamWriter { 12 | public typealias Value = Response 13 | 14 | @inlinable 15 | public func send(_ value: Value) async throws { 16 | try await send(value, compression: .deferToCallDefault) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /protoc_compiler_template.py: -------------------------------------------------------------------------------- 1 | # EASY-INSTALL-ENTRY-SCRIPT: 'grpclib==0.4.1','console_scripts','protoc-gen-python_grpc' 2 | __requires__ = "grpclib==0.4.1" 3 | import re 4 | import sys 5 | 6 | from pkg_resources import load_entry_point 7 | 8 | if __name__ == "__main__": 9 | sys.argv[0] = re.sub(r"(-script\.pyw?|\.exe)?$", "", sys.argv[0]) 10 | sys.exit( 11 | load_entry_point( 12 | "grpclib==0.4.1", "console_scripts", "protoc-gen-python_grpc" 13 | )() 14 | ) 15 | -------------------------------------------------------------------------------- /website/.gitignore: -------------------------------------------------------------------------------- 1 | # dependencies 2 | /node_modules 3 | 4 | # production 5 | /build 6 | 7 | # generated files 8 | .docusaurus 9 | .cache-loader 10 | 11 | # misc 12 | .DS_Store 13 | .env.local 14 | .env.development.local 15 | .env.test.local 16 | .env.production.local 17 | npm-debug.log* 18 | yarn-debug.log* 19 | yarn-error.log* 20 | -------------------------------------------------------------------------------- /website/docs/overview.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: overview 3 | title: Overview 4 | --- 5 | 6 | iOS Development Bridge (idb) is a versatile tool for automating iOS Simulators & Devices. It exposes a lot of functionality that is spread over Apple's tools in a consistent and human-friendly interface. 7 | -------------------------------------------------------------------------------- /website/sidebars.js: -------------------------------------------------------------------------------- 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 | 9 | module.exports = { 10 | "docs": [ 11 | "overview", 12 | "installation", 13 | "guided-tour", 14 | "architecture", 15 | "development", 16 | "commands", 17 | "fbsimulatorcontrol", 18 | "fbdevicecontrol", 19 | "video", 20 | "test-execution", 21 | "file-containers", 22 | "accessibility", 23 | "faqs" 24 | ] 25 | }; 26 | -------------------------------------------------------------------------------- /website/static/CNAME: -------------------------------------------------------------------------------- 1 | fbidb.io 2 | -------------------------------------------------------------------------------- /website/static/idb_demo.mov: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/website/static/idb_demo.mov -------------------------------------------------------------------------------- /website/static/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/website/static/img/favicon.png -------------------------------------------------------------------------------- /website/static/img/favicon/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/website/static/img/favicon/favicon.ico -------------------------------------------------------------------------------- /website/static/img/idb_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/website/static/img/idb_architecture.png -------------------------------------------------------------------------------- /website/static/img/idb_icon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/website/static/img/idb_icon.jpg -------------------------------------------------------------------------------- /website/static/img/idb_logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/website/static/img/idb_logo.jpg -------------------------------------------------------------------------------- /website/static/img/oss_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/idb/d4f493eced373c3cf20ac001e8375c56fd4e53c1/website/static/img/oss_logo.png --------------------------------------------------------------------------------