project.yml
name: Amped
options:
bundleIdPrefix: dev.gustaf
deploymentTarget:
macOS: "26.0"
createIntermediateGroups: true
groupSortPosition: top
settings:
base:
MARKETING_VERSION: "1.0"
CURRENT_PROJECT_VERSION: "1"
SWIFT_VERSION: "5.0"
# Ad-hoc sign for local builds. For a working helper + a shippable build,
# set DEVELOPMENT_TEAM and a "Developer ID Application" identity (see README).
CODE_SIGN_IDENTITY: "-"
CODE_SIGN_STYLE: Manual
DEVELOPMENT_TEAM: ""
targets:
Amped:
type: application
platform: macOS
sources:
- path: Sources
- path: Shared
# The asset catalog (app icon) must live under `sources` — XcodeGen has no
# `resources` key and silently ignores it, which would drop the icon.
- path: Resources/Assets.xcassets
- path: AmpedControl/ControlIntents.swift
dependencies:
- target: AmpedControl
embed: true
- target: AmpedHelper
copy:
destination: executables
# Don't re-sign on copy — that clobbers the helper's own Developer ID
# signature with ad-hoc. The helper is signed by its target; the app's
# final signing seals it.
codeSign: false
postBuildScripts:
- name: Embed LaunchDaemon plist
basedOnDependencyAnalysis: false
script: |
set -e
DEST="${BUILT_PRODUCTS_DIR}/${CONTENTS_FOLDER_PATH}/Library/LaunchDaemons"
mkdir -p "$DEST"
cp "${SRCROOT}/Helper/dev.gustaf.Amped.Helper.plist" "$DEST/"
entitlements:
path: Resources/Amped.entitlements
properties:
com.apple.security.application-groups:
- 82K3YC8HVF.dev.gustaf.Amped
settings:
base:
PRODUCT_NAME: Amped
PRODUCT_BUNDLE_IDENTIFIER: dev.gustaf.Amped
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
ENABLE_HARDENED_RUNTIME: YES
COMBINE_HIDPI_IMAGES: YES
info:
path: Resources/Info.plist
properties:
CFBundleDisplayName: Amped
CFBundleShortVersionString: "$(MARKETING_VERSION)"
CFBundleVersion: "$(CURRENT_PROJECT_VERSION)"
LSMinimumSystemVersion: "26.0"
LSUIElement: true
NSHumanReadableCopyright: "Amped"
AmpedControl:
type: app-extension
platform: macOS
sources:
- path: AmpedControl
- path: Shared/AmpedDefaults.swift
entitlements:
path: AmpedControl/AmpedControl.entitlements
properties:
com.apple.security.app-sandbox: true
com.apple.security.application-groups:
- 82K3YC8HVF.dev.gustaf.Amped
settings:
base:
PRODUCT_NAME: AmpedControl
PRODUCT_BUNDLE_IDENTIFIER: dev.gustaf.Amped.AmpedControl
ENABLE_HARDENED_RUNTIME: YES
SKIP_INSTALL: YES
SWIFT_ACTIVE_COMPILATION_CONDITIONS: "$(inherited) AMPED_CONTROL_EXTENSION"
info:
path: AmpedControl/Info.plist
properties:
CFBundleDisplayName: Amped
CFBundleShortVersionString: "$(MARKETING_VERSION)"
CFBundleVersion: "$(CURRENT_PROJECT_VERSION)"
NSExtension:
NSExtensionPointIdentifier: com.apple.widgetkit-extension
AmpedHelper:
type: tool
platform: macOS
sources:
- path: Helper
excludes:
- "*.plist"
- path: Shared
settings:
base:
PRODUCT_NAME: AmpedHelper
PRODUCT_BUNDLE_IDENTIFIER: dev.gustaf.Amped.Helper
GENERATE_INFOPLIST_FILE: YES
CREATE_INFOPLIST_SECTION_IN_BINARY: YES
SKIP_INSTALL: YES
ENABLE_HARDENED_RUNTIME: YES