{"adoption": {"forks": 418, "observed_at": "2026-08-28T04:09:45.062502+00:00", "stars": 6543}, "canonical_url": "https://ross.abutalabs.com/products/swiftui-introspect", "card": {"archived": false, "artifact_type": "library", "description": "Introspect underlying UIKit/AppKit components from SwiftUI", "domain": ["mobile-development", "frontend", "cross-platform"], "enriched": true, "function": ["ui-components", "developer-tools"], "health_score": 98, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["siteline/swiftui-introspect"], "name": "siteline/swiftui-introspect", "platform": [], "pushed_at": "2026-08-05T22:22:05+00:00", "repo": "siteline/swiftui-introspect", "stars": 6543, "tags": ["swiftui", "uikit", "appkit", "view-hierarchy", "introspection", "swift-package-manager", "ios", "macos", "swift"], "topics": ["appkit", "inspect", "inspection", "introspection", "nsview", "nsviewcontroller", "swiftui", "uikit", "uiview", "uiviewcontroller"], "urls": [], "use_cases": ["customize a UIScrollView behind a SwiftUI ScrollView", "access the underlying UITextField from a SwiftUI TextField", "modify UIKit view properties not exposed by SwiftUI", "introspect AppKit views on macOS SwiftUI apps", "apply UIKit-level tweaks to SwiftUI components in production apps"], "what_it_is": "A Swift library that lets SwiftUI developers access and customize the underlying UIKit or AppKit views behind SwiftUI views. It works by inserting invisible marker views and traversing the native view hierarchy to find the relevant platform view.", "when_to_avoid": ["you want a pure SwiftUI solution without platform dependencies", "your app targets platforms without UIKit/AppKit (e.g., Linux, Windows)", "you're unwilling to update introspection targets when new OS versions change underlying types"], "when_to_choose": ["you need fine-grained control over UIKit/AppKit views that SwiftUI doesn't expose", "you want a production-safe approach that uses only public APIs", "you need to support specific iOS/macOS versions with explicit opt-in"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/swiftui-introspect", "repo": "siteline/swiftui-introspect", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.062502+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:44:06.405615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d611ae81018b5bb084e6f57fa4b057f5f90e4bb9756bffe11f73c4db338ec01f", "fetched_at": "2026-08-28T04:09:45.062502+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siteline/swiftui-introspect"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.062502+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:44:06.405615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d611ae81018b5bb084e6f57fa4b057f5f90e4bb9756bffe11f73c4db338ec01f", "fetched_at": "2026-08-28T04:09:45.062502+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siteline/swiftui-introspect"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:44:06.405615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d611ae81018b5bb084e6f57fa4b057f5f90e4bb9756bffe11f73c4db338ec01f", "fetched_at": "2026-08-28T04:09:45.062502+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siteline/swiftui-introspect"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.062502+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.062502+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.062502+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:44:06.405615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d611ae81018b5bb084e6f57fa4b057f5f90e4bb9756bffe11f73c4db338ec01f", "fetched_at": "2026-08-28T04:09:45.062502+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siteline/swiftui-introspect"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.062502+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.062502+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:44:06.405615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d611ae81018b5bb084e6f57fa4b057f5f90e4bb9756bffe11f73c4db338ec01f", "fetched_at": "2026-08-28T04:09:45.062502+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siteline/swiftui-introspect"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.062502+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.062502+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.062502+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:44:06.405615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d611ae81018b5bb084e6f57fa4b057f5f90e4bb9756bffe11f73c4db338ec01f", "fetched_at": "2026-08-28T04:09:45.062502+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siteline/swiftui-introspect"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.062502+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.062502+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:44:06.405615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d611ae81018b5bb084e6f57fa4b057f5f90e4bb9756bffe11f73c4db338ec01f", "fetched_at": "2026-08-28T04:09:45.062502+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siteline/swiftui-introspect"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:44:06.405615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d611ae81018b5bb084e6f57fa4b057f5f90e4bb9756bffe11f73c4db338ec01f", "fetched_at": "2026-08-28T04:09:45.062502+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siteline/swiftui-introspect"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:44:06.405615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d611ae81018b5bb084e6f57fa4b057f5f90e4bb9756bffe11f73c4db338ec01f", "fetched_at": "2026-08-28T04:09:45.062502+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siteline/swiftui-introspect"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:44:06.405615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d611ae81018b5bb084e6f57fa4b057f5f90e4bb9756bffe11f73c4db338ec01f", "fetched_at": "2026-08-28T04:09:45.062502+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siteline/swiftui-introspect"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 92}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2472, "days_push": 28, "days_rel": 56, "gap_med": 27.5, "n_releases_24m": 9}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}