Bug description
The v2.2.0 release cannot be launched on macOS 15 Sequoia even though the app's Info.plist declares macOS 13.0 as the minimum version.
macOS displays a compatibility message saying that this version of KeepAgentAwake.app cannot be used with the installed macOS version.
Environment
- macOS 15.7.7 Sequoia (24G720)
- Apple Silicon (
arm64)
- KeepAgentAwake v2.2.0 DMG release
Release binary inspection
The app bundle declares:
LSMinimumSystemVersion = 13.0
But the Mach-O executable was built with:
LC_BUILD_VERSION
platform macOS
minos 26.0
sdk 26.5
Command used:
xcrun vtool -show-build \
KeepAgentAwake.app/Contents/MacOS/KeepAgentAwake
Because the binary deployment target is macOS 26.0, LaunchServices correctly refuses to run it on Sequoia despite the conflicting Info.plist value.
Source-build issue on Sequoia
Building the unmodified v2.2.0 source on the same Mac also stops during icon generation:
build/AppIcon.iconset:Invalid Iconset.
This comes from the iconutil -c icns step in build.sh.
Expected behavior
- The built executable's deployment target should match
LSMinimumSystemVersion (13.0).
- A source build should complete on a supported macOS release.
- The resulting app should have a valid ad-hoc signature for local distribution.
Proposed fix
Read the minimum version from Info.plist and pass it explicitly to swiftc:
DEPLOYMENT_TARGET=$(/usr/libexec/PlistBuddy \
-c 'Print :LSMinimumSystemVersion' Info.plist)
TARGET_ARCH=$(uname -m)
swiftc \
-target "$TARGET_ARCH-apple-macos$DEPLOYMENT_TARGET" \
...
Also verify after each build that the Mach-O minos value matches the plist value. I have a tested fix on macOS 15.7.7 and will open a draft PR linked to this issue.
Bug description
The v2.2.0 release cannot be launched on macOS 15 Sequoia even though the app's
Info.plistdeclares macOS 13.0 as the minimum version.macOS displays a compatibility message saying that this version of
KeepAgentAwake.appcannot be used with the installed macOS version.Environment
arm64)Release binary inspection
The app bundle declares:
But the Mach-O executable was built with:
Command used:
Because the binary deployment target is macOS 26.0, LaunchServices correctly refuses to run it on Sequoia despite the conflicting
Info.plistvalue.Source-build issue on Sequoia
Building the unmodified v2.2.0 source on the same Mac also stops during icon generation:
This comes from the
iconutil -c icnsstep inbuild.sh.Expected behavior
LSMinimumSystemVersion(13.0).Proposed fix
Read the minimum version from
Info.plistand pass it explicitly toswiftc:Also verify after each build that the Mach-O
minosvalue matches the plist value. I have a tested fix on macOS 15.7.7 and will open a draft PR linked to this issue.