系统的登录窗口在后台队列上回调结果,而回调闭包写在主线程隔离的方法里,Swift 6 在闭包入口检查执行器, 不在主线程就中止进程:选完 GitHub / Google / Apple 账号应用立即闪退,令牌还没换到,重开也没有登录状态。 回调改为在非隔离的上下文里创建,收到结果后再回到主线程处理;补了在后台队列调用回调的回归测试。
38 lines
2.0 KiB
Swift
38 lines
2.0 KiB
Swift
// swift-tools-version: 6.0
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "OpenStatsKit",
|
|
defaultLocalization: "zh-Hans",
|
|
platforms: [.macOS(.v14)],
|
|
products: [
|
|
.library(name: "Localization", targets: ["Localization"]),
|
|
.library(name: "SMC", targets: ["SMC"]),
|
|
.library(name: "Metrics", targets: ["Metrics"]),
|
|
.library(name: "HelperShared", targets: ["HelperShared"]),
|
|
.library(name: "Cleaner", targets: ["Cleaner"]),
|
|
.library(name: "Updates", targets: ["Updates"]),
|
|
.library(name: "AccountSync", targets: ["AccountSync"]),
|
|
.library(name: "OpenStatsUI", targets: ["OpenStatsUI"]),
|
|
],
|
|
targets: [
|
|
.target(name: "Localization"),
|
|
.target(name: "SMC", dependencies: ["Localization"]),
|
|
.target(name: "Metrics", dependencies: ["SMC", "Localization"], linkerSettings: [.linkedLibrary("IOReport")]),
|
|
.target(name: "HelperShared", dependencies: ["Localization"]),
|
|
.target(name: "Cleaner", dependencies: ["Localization"]),
|
|
.target(name: "Updates", dependencies: ["Localization"]),
|
|
.target(name: "AccountSync", dependencies: ["Localization"]),
|
|
.target(name: "OpenStatsUI", dependencies: ["Localization", "Metrics", "SMC", "HelperShared", "Cleaner", "Updates", "AccountSync"],
|
|
resources: [.copy("Resources/Flags"), .copy("Resources/Logos")]),
|
|
.testTarget(name: "MetricsTests", dependencies: ["Metrics", "SMC"]),
|
|
.testTarget(name: "CleanerTests", dependencies: ["Cleaner"]),
|
|
.testTarget(name: "HelperSharedTests", dependencies: ["HelperShared"]),
|
|
.testTarget(name: "UpdatesTests", dependencies: ["Updates"]),
|
|
.testTarget(name: "AccountSyncTests", dependencies: ["AccountSync"]),
|
|
.testTarget(name: "OpenStatsUITests", dependencies: ["OpenStatsUI", "Metrics", "AccountSync"]),
|
|
.testTarget(name: "LocalizationTests", dependencies: ["Localization"]),
|
|
],
|
|
swiftLanguageModes: [.v6]
|
|
)
|