Control fan speed with ease on any Apple Silicon Mac
Warning
When switching from system fan mode to manual, the app tries to set fan speed every second for up to 15 seconds, since manual mode can only be applied after auto mode is set, which may take a moment
- macOS 14+
FanControl Remote
- iOS 18+
- visionOS 2+
The FanControl Remote iOS target uses the private CloudKit database shared with the macOS app, so it works across the internet and only for devices signed in to the same iCloud account
- Create
iCloud.dev.topscrech.FanControlin the Apple Developer portal - Associate the container with
dev.topscrech.FanControlanddev.topscrech.FanControl.remote - Run both apps with the development environment once, then deploy the CloudKit schema to production before distribution
- Enable Allow control from iPhone in the macOS app settings and keep FanControl running on the Mac
Control all fans:
min Set all fans to minimum
max Set all fans to maximum
-a, auto Set all fans to auto
[speed] Set all fans to [speed, example: 4000, 4k, 1.6k]
Control a specific fan:
-l, list List all fans
-id [fan id] min Set one fan to minimum
-id [fan id] max Set one fan to maximum
-id [fan id] -a, auto Set one fan to auto
-id [fan id] [speed] Set one fan to [speed]
Other:
-h, --help Show this help
-r, --report Print support report
-v, --version Print app version
-d, --device Print device model- Option + left/right arrows - change selected fan
- Command + 1 - Min mode
- Command + 2 - Max mode
- Command + 3 - Auto mode
- Command + 4 - Open preset mode sheet
Requires Xcode 26.4+ and access to the private CoreSMC library
4/5 libraries are developed and maintained by me, which helps minimize risk across all projects in which they are used
- CoreSMC - private library for sending read/set fan speed calls via SMC
- iSMC - Reading data from temperature sensors
- AutoUpdate
- ScrechKit - SwiftUI tweaks
- LaunchAtLogin