完善 OTG 相机有线传图:支持 Sony/Canon 自动识别,页面 detach 保持会话以便再次进入复连。

引入进程级 CameraTetheringSession 与共享 USB Browser;离开传图页仅取消 UI 回调,App 终止时再完整 shutdown 释放 PTP 与 Browser 资源。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-01 15:45:35 +08:00
parent 5f7ef24683
commit 90d135b5ac
34 changed files with 2870 additions and 310 deletions

View File

@ -0,0 +1,25 @@
//
// USBDeviceBrowserControllerTests.swift
// suixinkanTests
//
import XCTest
@testable import suixinkan
/// USB teardown
final class USBDeviceBrowserControllerTests: XCTestCase {
/// stop stopped 便
func testStopResetsAuthorizationAndStoppedFlag() {
let controller = USBDeviceBrowserController()
controller.stop()
XCTAssertTrue(controller.isStoppedForTesting)
XCTAssertFalse(controller.isAuthorizationGrantedForTesting)
}
/// re-enumerate
func testReconnectHintMarksAndExpires() {
USBCameraReconnectHint.markDisconnected()
XCTAssertTrue(USBCameraReconnectHint.shouldReEnumerate)
}
}