- SessionController wraps RoyalVNCKit.VNCConnection via nonisolated delegate adapter that bridges callbacks to @MainActor; Keychain-resolved passwords; reconnect with jittered exponential backoff; NWPathMonitor adaptive-quality hook; framebuffer rendered to CALayer.contents from didUpdateFramebuffer. - Touch + trackpad input modes with floating soft cursor overlay; hardware keyboard via pressesBegan/Ended → X11 keysyms; UIPointerInteraction with hidden cursor for indirect pointers; pinch-to-zoom; Apple Pencil as direct touch; two-finger pan / indirect scroll wheel events. - Bidirectional clipboard sync (per-connection opt-in); multi-monitor screen picker with input remapping; screenshot capture → share sheet; on-disconnect reconnect/close prompt; view-only and curtain-mode persisted. - iPad multi-window via WindowGroup(for: UUID.self) + context-menu open; CloudKit-backed ModelContainer with local fallback; PrivacyInfo.xcprivacy. 10 VNCCore tests + 4 VNCUI tests pass; iPhone and iPad simulator builds clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
46 lines
1.0 KiB
YAML
46 lines
1.0 KiB
YAML
name: Screens
|
|
options:
|
|
bundleIdPrefix: com.example.screens
|
|
deploymentTarget:
|
|
iOS: "18.0"
|
|
developmentLanguage: en
|
|
xcodeVersion: "16.0"
|
|
settings:
|
|
base:
|
|
SWIFT_VERSION: "6.0"
|
|
SWIFT_STRICT_CONCURRENCY: complete
|
|
ENABLE_USER_SCRIPT_SANDBOXING: YES
|
|
CODE_SIGN_STYLE: Automatic
|
|
|
|
packages:
|
|
VNCCore:
|
|
path: Packages/VNCCore
|
|
VNCUI:
|
|
path: Packages/VNCUI
|
|
|
|
targets:
|
|
Screens:
|
|
type: application
|
|
platform: iOS
|
|
deploymentTarget: "18.0"
|
|
sources:
|
|
- path: Screens
|
|
excludes:
|
|
- Resources/Info.plist
|
|
- path: Screens/Resources/PrivacyInfo.xcprivacy
|
|
type: file
|
|
buildPhase: resources
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: com.example.screens
|
|
PRODUCT_NAME: Screens
|
|
TARGETED_DEVICE_FAMILY: "1,2"
|
|
GENERATE_INFOPLIST_FILE: NO
|
|
INFOPLIST_FILE: Screens/Resources/Info.plist
|
|
SWIFT_EMIT_LOC_STRINGS: YES
|
|
dependencies:
|
|
- package: VNCCore
|
|
product: VNCCore
|
|
- package: VNCUI
|
|
product: VNCUI
|