AgentSkillsCN

macos-sparkle-config

为 macOS 自动更新配置 Sparkle 框架,支持 appcast、增量更新,以及代码签名。

SKILL.md
--- frontmatter
name: macos-sparkle-config
description: Configure Sparkle framework for macOS auto-updates with appcast, delta updates, and code signing
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
tags: [macos, sparkle, autoupdate, distribution, swift]

macos-sparkle-config

Configure Sparkle framework for macOS auto-updates. This skill sets up appcast feeds, delta updates, EdDSA signing, and update UI customization.

Capabilities

  • Integrate Sparkle 2.x framework
  • Generate appcast.xml feeds
  • Configure EdDSA signing for updates
  • Set up delta updates
  • Customize update UI
  • Configure update check intervals
  • Generate release publishing scripts
  • Configure sandboxed app support (XPC)

Input Schema

json
{
  "type": "object",
  "properties": {
    "projectPath": { "type": "string" },
    "appcastUrl": { "type": "string" },
    "signUpdates": { "type": "boolean", "default": true },
    "deltaUpdates": { "type": "boolean", "default": true },
    "checkInterval": { "type": "number", "default": 86400 }
  },
  "required": ["projectPath", "appcastUrl"]
}

Configuration

swift
// In App Delegate or SwiftUI App
import Sparkle

class AppDelegate: NSObject, NSApplicationDelegate {
    let updaterController = SPUStandardUpdaterController(
        startingUpdater: true,
        updaterDelegate: nil,
        userDriverDelegate: nil
    )
}

// Info.plist
// SUFeedURL: https://yourserver.com/appcast.xml
// SUPublicEDKey: your-public-ed25519-key

Appcast Generation

bash
# Generate appcast
./bin/generate_appcast ./releases/

# Sign update
./bin/sign_update MyApp-1.0.0.zip

Related Skills

  • macos-notarization-workflow
  • auto-update-system process