Repository navigation
Library gap: SwiftUI [bdee903f] #121
Description
SwiftUI at /System/Library/Frameworks/SwiftUI.framework/Versions/A/SwiftUI
Scan: 2026-09-23. Status: absent. 25 imported apps load this path; their executables import 2401 distinct nonweak symbols from it.
Recheck the current binary and prefix before coding. If this library is absent, its own dependencies cannot be known from this scan.
Apps needing it
- Font Book — 1204 direct imports
- Calculator — 955 direct imports
- Tips — 772 direct imports
- Freeform — 658 direct imports
- System Settings — 595 direct imports
- VoiceOver Utility — 478 direct imports
- AppZapper 3000 — 466 direct imports
- Screen Sharing — 459 direct imports
- Print Center — 438 direct imports
- Shortcuts — 378 direct imports
- Preview — 362 direct imports
- Notes — 350 direct imports
- Contacts — 238 direct imports
- Games — 214 direct imports
- Photos — 185 direct imports
- Passwords — 135 direct imports
- System Information — 130 direct imports
- Image Playground — 128 direct imports
- Reminders — 124 direct imports
- QuickTime Player — 34 direct imports
- iPhone Mirroring — 23 direct imports
- App Store — 18 direct imports
- Magnifier — 11 direct imports
- Mail — 6 direct imports
- Music — 0 direct imports
Imported symbol sample
_$s10Foundation15AttributeScopesO7SwiftUIE0D12UIAttributesV013EncapsulationB0OAA19AttributedStringKeyADMc_$s10Foundation15AttributeScopesO7SwiftUIE0D12UIAttributesV013EncapsulationB0ON_$s10Foundation15AttributeScopesO7SwiftUIE0D12UIAttributesV014UnderlineStyleB0OAA19AttributedStringKeyADMc_$s10Foundation15AttributeScopesO7SwiftUIE0D12UIAttributesV014UnderlineStyleB0ON_$s10Foundation15AttributeScopesO7SwiftUIE0D12UIAttributesV015ForegroundColorB0OAA19AttributedStringKeyADMc_$s10Foundation15AttributeScopesO7SwiftUIE0D12UIAttributesV015ForegroundColorB0ON_$s10Foundation15AttributeScopesO7SwiftUIE0D12UIAttributesV04FontB0OAA19AttributedStringKeyADMc_$s10Foundation15AttributeScopesO7SwiftUIE0D12UIAttributesV04FontB0ON_$s10NSViewType7SwiftUI0A13RepresentablePTl_$s11Coordinator7SwiftUI19NSViewRepresentablePTl_$s11Coordinator7SwiftUI29NSViewControllerRepresentablePTl_$s12CoreGraphics7CGFloatV7SwiftUI16VectorArithmeticADMc_$s12TableRowBody7SwiftUI0aB7ContentPTl_$s13TableRowValue7SwiftUI0aB7ContentPTl_$s14AnimatableData7SwiftUI0A0PTl_$s20NSViewControllerType7SwiftUI0aB13RepresentablePTl_$s4Body7SwiftUI10LabelStylePTl_$s4Body7SwiftUI11ButtonStylePTl_$s4Body7SwiftUI12ViewModifierPTl_$s4Body7SwiftUI13GroupBoxStylePTl_$s4Body7SwiftUI14ToolbarContentPTl_$s4Body7SwiftUI19LabeledContentStylePTl_$s4Body7SwiftUI3AppPTl_$s4Body7SwiftUI4ViewPTl_$s4Body7SwiftUI5ScenePTl- …and 2376 more; regenerate the full list with the app scanner.
Source and implementation route
Start with upstream OpenSwiftUIProject/OpenSwiftUI and inspect its upstream OpenAttributeGraph dependency. Verify the exact Darwin module and ABI gaps. If Darling needs changes in either project, use a temporary fork under your own GitHub account and propose focused PRs to those upstream repositories; track switching the Darling pins after merge in #822.
Check the current Darling source and installed binary first. If a suitable open-source implementation exists, verify its license and API, create a temporary fork under your own GitHub account, make the required ABI and behavior fixes there, and open a focused pull request against the respective upstream repository. Pin the temporary fork for Darling integration only while the upstream fix is pending. After upstream merges the fix, switch the Darling pin to the upstream repository and record the merged PR and pin update in #822. If no suitable open-source implementation exists, implement a functional Darling slice from public API contracts and track required services.
Use the compatibility contribution guide for the build, AI-assisted investigation, tests, integration, and PR steps.
Acceptance
Provide a compatible arm64 load path and the required exports, run focused behavior tests under Darling, rescan the affected apps, exercise a real app workflow, and record any remaining indirect dependencies or runtime failures. Empty binding stubs do not satisfy this issue.
Activity
cristim commentedon Sep 23, 2026
Verified on 2026-09-23: the current
VibeDarling/darling-cocotronsource declares and implements the CALayer propertiescontentsScale,contentsCenter,contentsFormat,allowsEdgeAntialiasing, andisOpaque. The saved Darling SDK snapshot used by the OpenSwiftUI module generator still has older QuartzCore headers. A Swift typecheck probe against that snapshot reports all five as missing; the same probe passes when its QuartzCore module is built from current Cocotron headers.cristim/OpenSwiftUI PR #3 adds an optional
COCOTRON_ROOTsource to the module generator. This is an import/build fix, not a SwiftUI.framework binary or app runtime result. Contributors can reproduce by generating a QuartzCore module from each header source, typechecking accesses to the five properties with the Darwin Swift frontend, then continuing the full OpenSwiftUI build against the current combined Darling SDK. The remaining SwiftUI ABI and indirect dependencies still need implementation and verification against AppZapper's imports.cristim commentedon Sep 23, 2026
2026-09-23 build update, verified against current source and binaries:
Darwin.os.lockClang submodule needed by Observation.import Observationnow typechecks against the patched SDK.NS_SWIFT_SENDABLE; OpenSwiftUI fork #3 can now generate Clang modules from current Cocotron and Foundation headers. These resolve the earlier UIFoundation header errors. The older SDK snapshot had lackedNSAttributedStringKeyand a visionOS availability macro already present in current source.cristim; bothOpenCoreGraphicsShimsandOpenQuartzCoreShimsnow compile as arm64 macOS Swift modules against the integration SDK.The combined OpenSwiftUI typecheck has moved from missing
Darwin.os.lock, CTRunDelegate, and UIFoundation declarations to QuartzCoreCADisplayLinkinCoreAnimation_Private.h. Current Cocotron QuartzCore has noCADisplayLinkdeclaration. The typecheck is still failing, and no SwiftUI binary or AppZapper launch is claimed.Next contribution: implement the needed CADisplayLink API and behavior in Cocotron QuartzCore (or verify a suitable OSS implementation), add a focused runtime test, rebuild the SwiftUI shim, and rerun the combined typecheck. Record each newly exposed gap rather than treating a successful header parse as a working SwiftUI framework.
cristim commentedon Sep 23, 2026
Follow-up from the same combined typecheck: with
OPENSWIFTUI_NO_CADISPLAYLINK=1passed to Clang solely to expose later errors, the next missing module isOpenRenderBoxShims. I forked MIT-licensed OpenRenderBox. Its Darwin source module currently fails at two toolchain/header boundaries: the available Darling libc++ lacks standard<optional>(tracked in libc++ issue #784), and the OpenGL Clang module imports submodules inside anextern "C"region when CoreVideo is pulled in. Neither the diagnostic flag nor the fork alone provides a working RenderBox or SwiftUI runtime yet.cristim commentedon Sep 23, 2026
SwiftUI dependency progress (2026-09-23):
OpenRenderBoxandOpenRenderBoxShimsmodules with Darling's older libc++ headers. Its complete runtime library is still unbuilt.os.signpostavailability. Darling has anosC module, but noos.signpostSwift module.swift-logsource compiles an arm64 macOSLoggingmodule using Darling's Swift overlay.OPENSWIFTUI_SWIFT_LOGpermits the signpost fallback path.CTAdaptiveImageProviding. A combined local CoreText header overlay with the pending CTRunDelegate PR #139 passes the previousCoreText_Privateimport failure.The temporary 881-source SwiftUI typecheck driver now reaches Swift source diagnostics, but it merges multiple SwiftPM targets into one module. Many missing-type and access diagnostics are artifacts of that driver. Next: build the actual targets with their dependency boundaries, implement QuartzCore
CADisplayLink(the currentOPENSWIFTUI_NO_CADISPLAYLINKflag is diagnostic only), then link and load a real SwiftUI framework in the combined Darling prefix. AppZapper still cannot run without it.cristim commentedon Sep 23, 2026
Target-aware build update: local OpenObservation and DarwinPrivateFrameworks forks are now available under cristim. OpenSwiftUI PR #3 and OpenAttributeGraph PR #242 add explicit opt-outs for Apple typed-allocation Clang flags unsupported by this Linux cross toolchain. darling-xnu PR #21 fixes the Clang 21/SDK stdatomic header guard collision; the focused arm64 atomic compile passes. With those fixes locally staged, OpenSwiftUI_SPI reaches a real Foundation API gap: NSAttributedString initWithFormat:options:locale:arguments:. Contribution details are in #813. The SwiftUI runtime and AppZapper launch remain open.
cristim commentedon Sep 23, 2026
Current target-aware SwiftPM build update (2026-09-23):
CADisplayLinkAPI with run-loop scheduling. Its relinked QuartzCore passed a focused Darling guest test in the combined local prefix. The current timer fallback is nominal 60 Hz and is not synchronized to VBlank.CAFilter +filterWithType:inOpenSwiftUI_SPI. Darling issue #814 tracks the required filter factory, constants, parameter handling, and rendering behavior.NSAttributedString initWithFormat:options:locale:arguments:to expose downstream compile gaps. Issue #813 tracks its actual implementation. No SwiftUI binary or AppZapper runtime is working yet.The reproducible integration notes are in the installed-runtime report.
cristim commentedon Sep 23, 2026
The target-aware
OpenSwiftUI_SPIarm64 build advanced again. Foundation PR #51 implements theNSCalendar component:fromDate:andNSDateFormatter setLocalizedDateFormatFromTemplate:selectors used byTimeIntervalProvider.m. Its relinked Foundation passed a focused Darling guest test in the combined prefix, including localized rendering ofJul 19, 2024.The next compiler errors are in
Localization.m:NSLocale.languageIdentifieris absent and the CoreFoundation umbrella import does not exposeCFStringTokenizertypes/functions. Temporary header-only declarations for the separately tracked attributed-string initializer and CAFilter factory remain in the diagnostic overlay. AppZapper still lacks a built SwiftUI runtime.See the updated integration report.
cristim commentedon Sep 23, 2026
Target-aware arm64
OpenSwiftUI_SPIbuild update:NSLocale.languageIdentifier. A relinked Foundation containing PRs fix(OSAKit): answer Script Editor's document and compile messages #51 and fix(Automator): store the settings the workflow window sets up #52 retains its 2,590 previous symbol names. A Darling guest test passes the documented locale-override case (en_US@rg=gbzzzz→en-US) and a Chinese script case.Localization.mcompiles. OpenSwiftUI PR libtrace: update submodule (level-specialized os_log entry points) #3 also imports the tokenizer header explicitly.NSDateFormatter.formattingContext/NSFormattingContextStandaloneinDateProvider.m. Other previously tracked missing implementations remain; AppZapper and SwiftUI are not yet running.The integration report has the current reproduction trail.
cristim commentedon Sep 23, 2026
The target-aware arm64
OpenSwiftUI_SPIbuild advanced pastDateProvider.m. Foundation PR #51 now includesNSDateFormatter.formattingContext/NSFormattingContextand maps context values to ICU through CoreFoundation's existing date formatter property. The combined Foundation dylib retains all 2,590 old exported symbol names. Its Darling guest test verifies copy/getter behavior and real French capitalization:Juilletat the beginning of a sentence versusjuilletin the middle.The next two compile failures are Cocotron
CALayer insertSublayer:atIndex:and AppKitNSColor colorWithCGColor:. I opened contributor-ready QuartzCore issue #816 and AppKit issue #815 with source pointers, expected behavior, guest test ideas, and AI-assisted contribution steps.The integration report has the build trail. Header-only diagnostic declarations for the separately tracked attributed-string formatter and CAFilter still need real implementations; SwiftUI and AppZapper are not yet running.
cristim commentedon Sep 23, 2026
Two more target-aware OpenSwiftUI_SPI dependency gaps are addressed:
NSColor colorWithCGColor:. The combined AppKit retains the earlier Dictionary fixes and all 3,972 old exported symbol names. A Darling guest test verifies extended-sRGB and grayscale colors after releasing the original CGColor.CALayerinsertion. The combined QuartzCore retains CADisplayLink PR App compatibility: Maps #142 and all 630 old exported symbol names. A Darling guest test covers ordering, moves, reparenting, removal, and invalid input.With both headers staged, the target-aware arm64 build passes the previous two errors and reaches
OpenSwiftUICoreColor.m:NSColor colorWithColorSpace:components:count:and a dynamic UIKit-styleinitWithRed:green:blue:alpha:call. The next step is to determine the correct AppKit implementation versus OpenSwiftUI platform shim for each call, then test behavior. The separate attributed-string and CAFilter implementation gaps also remain. SwiftUI and AppZapper do not yet run.The integration report has the reproduction trail.
cristim commentedon Sep 23, 2026
Current local integration update (2026-09-23):
NSColor colorWithCGColor:andcolorWithColorSpace:components:count:. The combined Darling guest passes the focused color test.NSImage.alignmentRect. Its guest test passes with the Dictionary and color AppKit fixes staged together.cristim/OpenSwiftUIPR libtrace: update submodule (level-specialized os_log entry points) #3 now uses a typed dynamic UIKit image bridge for its macOS overlay. The target-awareOpenSwiftUI_SPIbuild compilesOpenSwiftUICorePlatformImage.magainst the new NSImage header.CGPathCreateWithRoundedRectin Darling's CoreGraphics headers/implementation. The earlier Foundation attributed-string and CAFilter declarations are diagnostic overlays only and still require behavior.No SwiftUI.framework runtime or AppZapper launch is claimed yet. Reproduce the build using the target-aware command and local dependency sources documented in darling PR #119's installed-runtime report. Contributors using AI tools should cite the exact compiler error or guest trace, add a focused behavior test in the owning repo, stage the resulting binary into the combined local prefix, and rerun the build or app before opening a scoped PR.
cristim commentedon Sep 23, 2026
Local integration update (2026-09-23): Cocotron PR #146 implements
CGPathAddRoundedRectandCGPathCreateWithRoundedRect, replacing an empty add stub. The focused geometry test passes in the combined Darling guest; the relinked CoreGraphics retains all 649 prior exported names. The target-awareOpenSwiftUI_SPIbuild now compilesCGPath+OpenSwiftUI.mand stops inOpenSwiftUICoreViewFunctions.mon missing CALayer mask, affine-transform, filter, and shadow selectors. Darling issue #817 documents both the build errors and required renderer behavior for contributors. The Foundation attributed-string and CAFilter diagnostic declarations still need real implementations. SwiftUI.framework and AppZapper are not running yet.cristim commentedon Sep 23, 2026
Current dependency build update (2026-09-23): Cocotron PR #147 adds the
CALayeraffine-transform API and applies the stored layer transform inCARenderer; its conversion test passes in the combined Darling guest. The target-awareOpenSwiftUI_SPIbuild now passes that selector. With temporary declarations for the still-unimplemented CALayer mask/filter/shadow APIs, the entire SPI target compiles, but those declarations supply no runtime behavior. The deeperOpenSwiftUItarget reaches OpenAttributeGraph; its existing PR #242 now lets the cross build select a real Swift source checkout, clearing missingswift/Runtime/Metadata.h. Subsequent host Swift standard-library and C++<optional>failures remain. SwiftUI.framework and AppZapper still do not run; see darling PR #119's integration report for the exact build boundary.cristim commentedon Sep 23, 2026
Integration update (2026-09-23): Darling PR #818 fixes the SDK
TARGET_OS_WASIdefinition; OpenAttributeGraph PR #243 fixes an older-libc++std::countr_zerogap, and PR #242 selects the local Swift runtime headers. With host/Darwin Swift module paths separated in the local build and the existingOPENATTRIBUTEGRAPH_DARLINGdiagnostic define, arm64 macOS OpenAttributeGraph and OpenCombine core Swift modules are now produced. OpenSwiftUI fork PR #3 supports a local OpenCombine checkout and avoids importing QuartzCore's Objective-C umbrella from a C file. The next actual failure isOpenCombineFoundation: Darling's Swift Foundation overlay lacks NotificationCenter, OperationQueue, URL types, and related bridge semantics (issue #819). OpenCombine module compilation is not Apple Combine ABI compatibility; SwiftUI.framework and AppZapper remain unbuilt/unlaunched. Full commands, temporary diagnostic overlays, and relocated integration prefix are in darling PR #119's installed-runtime report.cristim commentedon Sep 23, 2026
Filed #840 for the CoreText font-descriptor symbolic-trait, feature/variation-copy, and stylistic-class gaps found while diagnosing the OpenSwiftUICore build. Three PRs against VibeDarling/darling-cocotron incoming.
16 remaining items
cristim commentedon Sep 23, 2026
Tracking QuartzCore initializer/coding/misc Swift API gaps in #927.
cristim commentedon Sep 23, 2026
Follow-up found while measuring QuartzCore fixes: #931 (CASpringAnimation properties and spring timing).
cristim commentedon Sep 24, 2026
Linked: NSWorkspace URL opening gap found while working on #925 (see the new issue referencing #925).
cristim commentedon Sep 24, 2026
Linked: #937 (NSWorkspace cannot open URLs).
cristim commentedon Sep 24, 2026
Blocker for building OpenSwiftUI with OpenSwiftUIProject/OpenCombine 0.16.0: #943 (const os_unfair_lock_assert_* in libplatform).
cristim commentedon Sep 24, 2026
Linked: #945 (CTFont and NSFont are not toll-free bridged on Darling).
cristim commentedon Sep 24, 2026
Tracking the UTI overlay's private-shim dependency in #951.
cristim commentedon Sep 24, 2026
Tracking
URLResourceKey.contentTypeKey/URLResourceValues.contentType(OpenSwiftUI FoundationAdditions.swift:17) in #972.cristim commentedon Sep 24, 2026
Filed #974 (NSISO8601DateFormatter stub) and #973 (NSString path accessors imported as methods) for OpenSwiftUI Foundation gaps.
cristim commentedon Sep 24, 2026
AppKit gaps from the OpenSwiftUI diagnostic, now tracked separately: #976 (AppKit overlay / SDK modules, NSApplicationMain argv), #977 (NSView designated initializers,
frame:x5), #978 (NSControl.ControlSize.extraLarge).NSWorkspace.sharedis #937.cristim commentedon Sep 24, 2026
Sub-issue: #980 (Date.ISO8601FormatStyle, 3 OpenSwiftUICore errors).
cristim commentedon Sep 24, 2026
Tracking the SwiftUI.framework build (one module
SwiftUI, library evolution, 413/466 AppZapper imports defined in a prototype) in #988.cristim commentedon Sep 24, 2026
OpenSwiftUI EnvironmentConfigurableFormatter.swift errors (DateComponentsFormatter.calendar, MeasurementFormatter.locale/numberFormatter): #975 (PR VibeDarling/darling-foundation#88) and #985 (PR VibeDarling/darling-foundation#90).
cristim commentedon Sep 24, 2026
Follow-up for the OpenSwiftUI build: #997 (Foundation getters declared as methods, FileManager.default/UserDefaults.standard nullability).
cristim commentedon Sep 24, 2026
AppKit status for the OpenSwiftUI diagnostic: with darling#993, darling-swift#94, darling-cocotron#217 #218 #219 #223 #224 and darling-foundation#93 on top of the integration branches, OpenSwiftUI's AppKit errors are gone (OpenSwiftUI module 33 -> 11 distinct, 10 -> 0 primary; total 93 -> 71). Remaining OpenSwiftUI errors are Foundation imports (NSNumber.doubleValue, Bundle info dictionaries) and AttributedString.