144 lines
4.6 KiB
YAML
144 lines
4.6 KiB
YAML
name: XStats
|
||
|
||
options:
|
||
bundleIdPrefix: work.12306.xstats
|
||
deploymentTarget:
|
||
macOS: "14.0"
|
||
developmentLanguage: zh-Hans
|
||
createIntermediateGroups: true
|
||
groupSortPosition: top
|
||
|
||
settings:
|
||
base:
|
||
SWIFT_VERSION: "6.0"
|
||
# 公开版本号是标准 semver,真源是 CHANGELOG.md 顶部的 “## X.Y.Z · YYYY-MM-DD”
|
||
MARKETING_VERSION: "0.14.5"
|
||
# Apple 内部构建号每次 task build 加一,独立于公开版本号且不重置
|
||
CURRENT_PROJECT_VERSION: "131"
|
||
MACOSX_DEPLOYMENT_TARGET: "14.0"
|
||
# 本地开发使用 ad-hoc 签名;正式发布使用 Developer ID(见 DEVELOPMENT.md)
|
||
CODE_SIGN_STYLE: Manual
|
||
CODE_SIGN_IDENTITY: "-"
|
||
DEVELOPMENT_TEAM: ""
|
||
ENABLE_HARDENED_RUNTIME: YES
|
||
DEAD_CODE_STRIPPING: YES
|
||
ENABLE_USER_SCRIPT_SANDBOXING: YES
|
||
|
||
packages:
|
||
XStatsKit:
|
||
path: Packages/XStatsKit
|
||
|
||
targets:
|
||
XStats:
|
||
type: application
|
||
platform: macOS
|
||
sources:
|
||
- path: App
|
||
- path: LICENSES/Sparkle-License.txt
|
||
buildPhase: resources
|
||
- path: Helper/work.12306.xstats.helper.plist
|
||
buildPhase:
|
||
copyFiles:
|
||
destination: wrapper
|
||
subpath: Contents/Library/LaunchDaemons
|
||
info:
|
||
path: App/Info.plist
|
||
properties:
|
||
CFBundleName: XStats
|
||
CFBundleDisplayName: XStats
|
||
CFBundleShortVersionString: $(MARKETING_VERSION)
|
||
CFBundleVersion: $(CURRENT_PROJECT_VERSION)
|
||
CFBundleDevelopmentRegion: zh-Hans
|
||
CFBundleLocalizations: [zh-Hans, zh-Hant, ja, ko, en, de, es, fr, ar]
|
||
LSMinimumSystemVersion: $(MACOSX_DEPLOYMENT_TARGET)
|
||
LSUIElement: true
|
||
SUPublicEDKey: "j/I8zd8BXz4oPldnhocEySXTMmXPxKMyBRwoA4ewLIk="
|
||
SUEnableAutomaticChecks: false
|
||
SUAutomaticallyUpdate: false
|
||
SUEnableSystemProfiling: false
|
||
SURequireSignedFeed: true
|
||
SUVerifyUpdateBeforeExtraction: true
|
||
LSApplicationCategoryType: public.app-category.utilities
|
||
NSHumanReadableCopyright: © 2026 XStats
|
||
NSCalendarsFullAccessUsageDescription: 在本机日历面板显示您选择的系统日程,不修改或上传日程内容。
|
||
NSRemindersFullAccessUsageDescription: 在本机日历面板显示您选择的到期提醒,不修改或上传提醒内容。
|
||
entitlements:
|
||
path: App/XStats.entitlements
|
||
properties:
|
||
# EventKit 在 Hardened Runtime 下请求日历与提醒事项访问所需;仍由用户单独授权。
|
||
com.apple.security.personal-information.calendars: true
|
||
com.apple.security.application-groups:
|
||
- group.work.12306.xstats
|
||
settings:
|
||
base:
|
||
PRODUCT_NAME: XStats
|
||
PRODUCT_BUNDLE_IDENTIFIER: work.12306.xstats.app
|
||
PROVISIONING_PROFILE_SPECIFIER: $(XSTATS_APP_PROFILE)
|
||
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
|
||
dependencies:
|
||
- package: XStatsKit
|
||
product: XStatsUI
|
||
- target: XStatsHelper
|
||
embed: true
|
||
copy:
|
||
destination: executables
|
||
- target: XStatsWidget
|
||
embed: true
|
||
|
||
# 桌面小组件(沙盒扩展),嵌入 XStats.app/Contents/PlugIns
|
||
XStatsWidget:
|
||
type: app-extension
|
||
platform: macOS
|
||
sources:
|
||
- path: Widget
|
||
excludes:
|
||
- "*.entitlements"
|
||
info:
|
||
path: Widget/Info.plist
|
||
properties:
|
||
CFBundleDisplayName: XStats
|
||
CFBundleShortVersionString: $(MARKETING_VERSION)
|
||
CFBundleVersion: $(CURRENT_PROJECT_VERSION)
|
||
LSMinimumSystemVersion: $(MACOSX_DEPLOYMENT_TARGET)
|
||
NSExtension:
|
||
NSExtensionPointIdentifier: com.apple.widgetkit-extension
|
||
entitlements:
|
||
path: Widget/XStatsWidget.entitlements
|
||
properties:
|
||
com.apple.security.app-sandbox: true
|
||
com.apple.security.application-groups:
|
||
- group.work.12306.xstats
|
||
settings:
|
||
base:
|
||
PRODUCT_NAME: XStatsWidget
|
||
PRODUCT_BUNDLE_IDENTIFIER: work.12306.xstats.app.widget
|
||
PROVISIONING_PROFILE_SPECIFIER: $(XSTATS_WIDGET_PROFILE)
|
||
SKIP_INSTALL: YES
|
||
dependencies:
|
||
- package: XStatsKit
|
||
product: Metrics
|
||
- package: XStatsKit
|
||
product: WidgetData
|
||
- package: XStatsKit
|
||
product: Localization
|
||
|
||
XStatsHelper:
|
||
type: tool
|
||
platform: macOS
|
||
sources:
|
||
- path: Helper
|
||
excludes:
|
||
- "*.plist"
|
||
settings:
|
||
base:
|
||
PRODUCT_NAME: XStatsHelper
|
||
PRODUCT_BUNDLE_IDENTIFIER: work.12306.xstats.helper
|
||
GENERATE_INFOPLIST_FILE: YES
|
||
CREATE_INFOPLIST_SECTION_IN_BINARY: YES
|
||
SKIP_INSTALL: YES
|
||
dependencies:
|
||
- package: XStatsKit
|
||
product: SMC
|
||
- package: XStatsKit
|
||
product: HelperShared
|