Why your Mac sleeps while running Xcode
Xcode builds, tests, and archive operations can take a long time. While Xcode is the active window, it may request sleep prevention during some operations, but long background builds in Terminal or when Xcode isn't frontmost don't prevent sleep.
macOS tracks idle time based on mouse and keyboard input, not CPU or app activity. If you're not actively moving the mouse while Xcode does its thing, the idle timer counts down and your Mac sleeps.
Keep your Mac awake with Shake It On
Shake It On moves your mouse slightly at regular intervals, resetting the idle timer. It only runs when your conditions are met, so it activates when Xcode is working and stops when you're done.
Best condition for Xcode: Only Shake If CPU is above 20% (catches builds and tests automatically)
Quick setup
- Install Shake It On and grant Accessibility permission
- Open Settings from the menu bar icon
- Under "Only Shake If," enable the condition: Only Shake If CPU is above 20% (catches builds and tests automatically)
- Under "Paused When," enable "On battery" to save power when unplugged
- For long overnight operations, enable "Allow display to sleep" in the General section so the screen turns off but the system stays awake