使用 Sparkle 实现 macOS 应用自定义更新弹窗
简介
源码
Sparkle 是 macOS 平台上一个优秀的自动更新框架。虽然 Sparkle 提供了默认的更新界面,但有时我们需要自定义更新弹窗以匹配应用的设计风格。本文将介绍如何使用 Sparkle 实现自定义更新界面。
实现步骤
1. 创建自定义更新窗口
首先需要创建一个继承自 NSPanel
的自定义窗口类:
class UpdateNotificationWindow: NSPanel {
private let stackView = NSStackView()
private let titleLabel = NSTextField()
private let messageLabel = NSTextField()
private let progressBar = NSProgressIndicator()
private var buttons: [NSButton] = []
init() {
super.init(contentRect: NSRect(x: 0, y: 0, width: 320, height: 240),
styleMask: [.nonactivatingPanel, .titled