WolfWave

Building from Source

How to build and configure WolfWave for development

This guide is for developers who want to build WolfWave from source. If you just want to use WolfWave, see the Installation guide.

Prerequisites

  • macOS 15.0+
  • Xcode 16.0+
  • Swift 5.9+
  • Command Line Tools: xcode-select --install

Clone the Repository

git clone https://github.com/MrDemonWolf/WolfWave.git
cd WolfWave

Configure API Keys

Copy the example configuration file:

cp src/wolfwave/Config.xcconfig.example src/wolfwave/Config.xcconfig

Open src/wolfwave/Config.xcconfig and set your keys:

TWITCH_CLIENT_ID = your_twitch_client_id_here
DISCORD_CLIENT_ID = your_discord_client_id_here

Get a Twitch Client ID at dev.twitch.tv/console/apps. Get a Discord Application ID at discord.com/developers/applications.

Config.xcconfig is gitignored — each contributor uses their own.

Open the Project

make open-xcode
# or
open src/wolfwave.xcodeproj

Build and Run

Build and run from Xcode using ⌘R.

Production Build

For a release build with DMG output:

make prod-build

The DMG will be created at builds/WolfWave-{version}-arm64.dmg. If a Developer ID Application certificate is found in your Keychain, the app will be re-signed for distribution automatically.

To build and install directly to /Applications:

make prod-install

Notarization

After building the DMG, notarize it for Gatekeeper-trusted distribution:

APPLE_ID=you@example.com \
APPLE_TEAM_ID=YOUR_TEAM_ID \
APPLE_APP_PASSWORD=xxxx-xxxx-xxxx-xxxx \
make notarize

Generate an app-specific password at appleid.apple.com under Sign-In and Security → App-Specific Passwords.

CI/CD

Pushing a version tag triggers the GitHub Actions workflow which automatically builds, notarizes, and creates a GitHub Release:

git tag v1.0.0
git push origin v1.0.0

See the Development Guide for required GitHub secrets.

Next Steps

On this page