{"adoption": {"forks": 310, "observed_at": "2026-08-28T04:06:58.959624+00:00", "stars": 2532}, "canonical_url": "https://ross.abutalabs.com/products/swifttheme", "card": {"archived": false, "artifact_type": "library", "description": "🎨 Powerful theme/skin manager for iOS 9+ 主题/换肤, 暗色模式", "domain": ["mobile-development", "frontend"], "enriched": true, "function": ["ui-components", "theme"], "health_score": 70, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["wxxsw/SwiftTheme"], "name": "wxxsw/SwiftTheme", "platform": [], "pushed_at": "2026-05-17T12:11:14+00:00", "repo": "wxxsw/SwiftTheme", "stars": 2532, "tags": ["theme-manager", "dark-mode", "night-mode", "skinning", "cocoapods", "ios", "swift", "mobile"], "topics": ["swift", "ios", "ui", "theme", "skin", "night-mode", "dark-mode"], "urls": [], "use_cases": ["add dark mode to an iOS app", "implement night mode skin switching", "switch app themes at runtime", "change UI colors and images per theme", "support multiple skins in an iOS app"], "what_it_is": "SwiftTheme is a Swift framework for managing themes and skins in iOS and tvOS apps, enabling runtime switching between light and dark appearances. It lets developers bind UI properties like colors and images to theme values declaratively, avoiding manual notification handling.", "when_to_avoid": ["you only target iOS 13+ and can rely on built-in system dark mode traits", "your app is not written in Swift or targets UIKit outside Apple platforms"], "when_to_choose": ["you need runtime theme switching on iOS 9+ or tvOS", "you want declarative theme bindings instead of manual notification code", "you need both plist-based and code-based theme definitions"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/swifttheme", "repo": "wxxsw/SwiftTheme", "role": "main", "score": 69}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.959624+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:25:18.741112+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dee9de1b5232eca15d7064bc50479d48ae3b8516e8b353f6ecd79f2aed0bf715", "fetched_at": "2026-08-28T04:06:58.959624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wxxsw/SwiftTheme"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.959624+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:25:18.741112+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dee9de1b5232eca15d7064bc50479d48ae3b8516e8b353f6ecd79f2aed0bf715", "fetched_at": "2026-08-28T04:06:58.959624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wxxsw/SwiftTheme"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:25:18.741112+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dee9de1b5232eca15d7064bc50479d48ae3b8516e8b353f6ecd79f2aed0bf715", "fetched_at": "2026-08-28T04:06:58.959624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wxxsw/SwiftTheme"}], "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:06:58.959624+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.959624+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.959624+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:25:18.741112+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dee9de1b5232eca15d7064bc50479d48ae3b8516e8b353f6ecd79f2aed0bf715", "fetched_at": "2026-08-28T04:06:58.959624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wxxsw/SwiftTheme"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.959624+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.959624+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:25:18.741112+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dee9de1b5232eca15d7064bc50479d48ae3b8516e8b353f6ecd79f2aed0bf715", "fetched_at": "2026-08-28T04:06:58.959624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wxxsw/SwiftTheme"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.959624+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.959624+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.959624+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:25:18.741112+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dee9de1b5232eca15d7064bc50479d48ae3b8516e8b353f6ecd79f2aed0bf715", "fetched_at": "2026-08-28T04:06:58.959624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wxxsw/SwiftTheme"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.959624+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.959624+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:25:18.741112+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dee9de1b5232eca15d7064bc50479d48ae3b8516e8b353f6ecd79f2aed0bf715", "fetched_at": "2026-08-28T04:06:58.959624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wxxsw/SwiftTheme"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:25:18.741112+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dee9de1b5232eca15d7064bc50479d48ae3b8516e8b353f6ecd79f2aed0bf715", "fetched_at": "2026-08-28T04:06:58.959624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wxxsw/SwiftTheme"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:25:18.741112+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dee9de1b5232eca15d7064bc50479d48ae3b8516e8b353f6ecd79f2aed0bf715", "fetched_at": "2026-08-28T04:06:58.959624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wxxsw/SwiftTheme"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:25:18.741112+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dee9de1b5232eca15d7064bc50479d48ae3b8516e8b353f6ecd79f2aed0bf715", "fetched_at": "2026-08-28T04:06:58.959624+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wxxsw/SwiftTheme"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 82, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3823, "days_push": 108, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 69, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}