Mac 控制中心控件 + 小组件扩展 target(Phase 5)

- 新增 WidgetsMac(macOS app-extension):与 iOS CommilitiaDropWidgets 同源(Widgets/ + Shared + Resources/i18n),macOS 26 原生支持 ControlWidget——控制中心两控件(上传 / 拉取云剪贴板)+ 交互式小组件(通知中心 / 桌面,按钮直跑 AppIntent)。嵌入 CommilitiaDropMac(Contents/PlugIns)
- ClipboardIntents 跨平台:UIPasteboard 读 / 写加 #if os(macOS) NSPasteboard 分支(上传 / 拉取剪贴板 AppIntent,控制中心与小组件按钮共用)。其余控件源(ClipboardControls ControlWidget / CloudClipboardWidget 交互小组件 / ClipboardClient REST + App Group / WidgetFeedback 本地通知)本就 WidgetKit/AppIntents/Foundation 跨平台,无改
- App Group(读主 app 代铸的 widget_session)仅 Release 挂 Support/macOS/WidgetsMac.entitlements(macOS App Group 属受限能力须 provisioning profile,Phase 6 Developer ID 签名再挂);Debug/ad-hoc 无 App Group——控件 / 小组件编过 + 嵌入 + ad-hoc 签过,但读不到共享会话、呈占位。运行期功能待 Phase 6(App Group Release 挂 app + 扩展 + 签名)
- 控件 / 小组件 kind 已在 Phase 1 去缩写为 net.commilitia.Commilitia-Drop.control.*/.widget.clipboard
- 验证:just mac-build(CommilitiaDropMac.app + WidgetsMac.appex 嵌入、ad-hoc 签过)+ iOS 模拟器(CommilitiaDrop.app)均 BUILD SUCCEEDED
This commit is contained in:
2026-07-08 00:19:42 +08:00
parent f273f2466e
commit a33a668286
4 changed files with 89 additions and 0 deletions
+31
View File
@@ -199,6 +199,8 @@ targets:
# 原生数据面 libwebrtcLibWebRtcEngine)。macOS 切片缺子头,构建经 just mac-prep 补齐
# scripts/patch-macos-webrtc-headers.sh)。
- package: WebRTC
# 控制中心控件 + 小组件扩展(WidgetsMac appex,嵌入 Contents/PlugIns)。macOS 26 原生支持 ControlWidget。
- target: WidgetsMac
info:
path: Support/macOS/App-Info.plist
properties:
@@ -245,6 +247,35 @@ targets:
PRODUCT_BUNDLE_IDENTIFIER: net.commilitia.Commilitia-Drop.mac.tests
ARCHS: arm64
GENERATE_INFOPLIST_FILE: "YES"
# 控制中心控件 + 小组件扩展(macOS)。与 iOS CommilitiaDropWidgets 同源(Widgets/),macOS 26 原生支持
# ControlWidgetWidgetKit 无多平台扩展故单列 target。排除 iOS 的 Info.plist / 旧 entitlements。App Group
# 仅 Release 挂(受限能力须 profilePhase 6 签名);Debug/ad-hoc 无 App Group——控件编过但读不到主 app
# 代铸的 widget_session,呈占位。控件 / 小组件 kind 已在 Phase 1 去缩写为 net.commilitia.Commilitia-Drop.*。
WidgetsMac:
type: app-extension
platform: macOS
deploymentTarget: "26.0"
sources:
- path: Widgets
excludes:
- Info.plist
- CDropWidgets.entitlements
- path: Shared
- path: Sources/Resources/i18n
info:
path: Support/macOS/Widgets-Info.plist
properties:
CFBundleDisplayName: Commilitia Drop
NSExtension:
NSExtensionPointIdentifier: com.apple.widgetkit-extension
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: net.commilitia.Commilitia-Drop.widgets
PRODUCT_NAME: WidgetsMac
ARCHS: arm64
configs:
Release:
CODE_SIGN_ENTITLEMENTS: Support/macOS/WidgetsMac.entitlements
schemes:
CommilitiaDrop:
build: