-
Notifications
You must be signed in to change notification settings - Fork 2
files core monitor macmodelregistry swift fff670a9
ventaphobia edited this page Apr 23, 2026
·
1 revision
- Area: Core app.
- This page records the file's current repository role, source metadata, and recent commit history.
- Review nearby tests and commit pages before changing this file.
| Field | Value |
|---|---|
| Source path | Core-Monitor/MacModelRegistry.swift |
| Wiki area | Core app |
| Exists in current checkout | True |
| Size | 10241 bytes |
| Binary | False |
| Line count | 131 |
| Extension | .swift |
Foundation
| Kind | Name | Line |
|---|---|---|
| enum | MacFamily |
2 |
| struct | MacModelEntry |
24 |
| enum | MacModelRegistry |
32 |
| Commit | Date | Subject |
|---|---|---|
006d70b |
2026-04-16 | Refresh Mac model registry and fan guidance |
3ddebed |
2026-03-27 | add benchmark |
- Prefer focused changes that respect the ownership described above.
- If this file touches helper trust, SMC writes, startup, or permissions, update the relevant support docs and tests.
- If this file is generated or an asset manifest, verify the producing workflow instead of hand-editing generated payloads.
import Foundation
enum MacFamily: String, CaseIterable, Identifiable {
case macBookAirMSeries = "MacBook Air M-series"
case macBookAirIntel = "MacBook Air Intel"
case macBookProMSeries = "MacBook Pro M-series"
case macBookProIntel = "MacBook Pro Intel"
case macMini = "Mac mini"
case iMac = "iMac"
case macStudio = "Mac Studio"
case macPro = "Mac Pro"
var id: String { rawValue }
var isAppleSiliconPortable: Bool {
switch self {
case .macBookAirMSeries, .macBookProMSeries:
return true
case .macBookAirIntel, .macBookProIntel, .macMini, .iMac, .macStudio, .macPro:
return false
}
}
}
struct MacModelEntry: Identifiable, Hashable {
let hwModel: String
let friendlyName: String
let family: MacFamily
var id: String { hwModel }
}
enum MacModelRegistry {
static let entries: [MacModelEntry] = [
.init(hwModel: "MacBookAir7,2", friendlyName: "MacBook Air (13-inch, Early 2015)", family: .macBookAirIntel),
.init(hwModel: "MacBookAir8,1", friendlyName: "MacBook Air (Retina, 13-inch, 2018)", family: .macBookAirIntel),
.init(hwModel: "MacBookAir8,2", friendlyName: "MacBook Air (Retina, 13-inch, 2019)", family: .macBookAirIntel),
.init(hwModel: "MacBookAir9,1", friendlyName: "MacBook Air (Retina, 13-inch, 2020 Intel)", family: .macBookAirIntel),
.init(hwModel: "MacBookAir10,1", friendlyName: "MacBook Air (M1, 2020)", family: .macBookAirMSeries),
.init(hwModel: "Mac14,2", friendlyName: "MacBook Air (M2, 2022)", family: .macBookAirMSeries),
- Home
- Start Here
- Product Overview
- Runtime Architecture
- Monitoring Pipeline
- Fan Control
- Privileged Helper
- Touch Bar
- Release Automation
- Security Model
- File Index (279)
- Every Commit (401)
- Chronological Change Log
- Removed Parts
- All Deleted Paths
- Branches And Tags
- Wiki Manifest
- Start Here
- Product Overview
- Source Map
- Runtime Architecture
- App Startup And Lifecycle
- Dashboard Architecture
- Menu Bar Architecture
- Monitoring Pipeline
- Snapshot Trends And Freshness
- CPU GPU Memory Disk Network
- Battery Power And Thermals
- SMC And Apple Silicon
- Fan Control
- Custom Fan Curves
- Privileged Helper
- XPC Trust Boundary
- Helper Diagnostics
- Touch Bar Architecture
- Touch Bar Customization
- Weather And Location
- Privacy And Permissions
- Onboarding And Help
- Legacy Alerts
- Kernel Panic Weird Mode