From 9b07f498dd943a7ecbdd6767c50de60695be2ff4 Mon Sep 17 00:00:00 2001 From: Christoph Hagen Date: Fri, 31 Jan 2025 14:19:35 +0100 Subject: [PATCH] Update dependencies, fix warnings --- HealthImport.xcodeproj/project.pbxproj | 68 +++++++++--------- .../xcshareddata/swiftpm/Package.resolved | 10 +-- .../UserInterfaceState.xcuserstate | Bin 0 -> 39919 bytes .../Extensions/Event+Identifiable.swift | 2 +- .../Extensions/Workout+Extensions.swift | 2 +- HealthImport/SearchHealthStoreView.swift | 2 +- HealthImport/Workouts/WorkoutDetailView.swift | 2 +- 7 files changed, 43 insertions(+), 43 deletions(-) create mode 100644 HealthImport.xcodeproj/project.xcworkspace/xcuserdata/ch.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/HealthImport.xcodeproj/project.pbxproj b/HealthImport.xcodeproj/project.pbxproj index 3768e6e..4a0f397 100644 --- a/HealthImport.xcodeproj/project.pbxproj +++ b/HealthImport.xcodeproj/project.pbxproj @@ -11,7 +11,6 @@ 8850025D2B5C273C00E7D4DB /* WorkoutTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8850025C2B5C273C00E7D4DB /* WorkoutTab.swift */; }; 8850025F2B5C273E00E7D4DB /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8850025E2B5C273E00E7D4DB /* Assets.xcassets */; }; 885002622B5C273E00E7D4DB /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 885002612B5C273E00E7D4DB /* Preview Assets.xcassets */; }; - 885002772B5C2FC400E7D4DB /* SQLite in Frameworks */ = {isa = PBXBuildFile; productRef = 885002762B5C2FC400E7D4DB /* SQLite */; }; 885002792B5C320400E7D4DB /* Optional+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 885002782B5C320400E7D4DB /* Optional+Extensions.swift */; }; 8850028D2B5D0B5000E7D4DB /* WorkoutDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8850028C2B5D0B5000E7D4DB /* WorkoutDetailView.swift */; }; 8850028F2B5D0EAF00E7D4DB /* Date+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8850028E2B5D0EAF00E7D4DB /* Date+Extensions.swift */; }; @@ -33,6 +32,8 @@ E27BC6942B5FD587003A8873 /* Workout+Mock.swift in Sources */ = {isa = PBXBuildFile; fileRef = E27BC6932B5FD587003A8873 /* Workout+Mock.swift */; }; E27BC6962B5FD61D003A8873 /* WorkoutEvent+Mock.swift in Sources */ = {isa = PBXBuildFile; fileRef = E27BC6952B5FD61D003A8873 /* WorkoutEvent+Mock.swift */; }; E27BC6982B5FD76F003A8873 /* Data+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E27BC6972B5FD76F003A8873 /* Data+Extensions.swift */; }; + E29E17BF2D4D04A200E0EE54 /* SQLite in Frameworks */ = {isa = PBXBuildFile; productRef = E29E17BE2D4D04A200E0EE54 /* SQLite */; }; + E29E17C22D4D04B900E0EE54 /* HealthDB in Frameworks */ = {isa = PBXBuildFile; productRef = E29E17C12D4D04B900E0EE54 /* HealthDB */; }; E2A38EA32B9A024500BAD02E /* Workout+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2A38EA22B9A024500BAD02E /* Workout+Extensions.swift */; }; E2A38EA52B9C6EA900BAD02E /* SearchHealthStoreView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2A38EA42B9C6EA900BAD02E /* SearchHealthStoreView.swift */; }; E2A38EA82B9C6EE800BAD02E /* SFSafeSymbols in Frameworks */ = {isa = PBXBuildFile; productRef = E2A38EA72B9C6EE800BAD02E /* SFSafeSymbols */; }; @@ -60,7 +61,6 @@ E2E552902BA236A000BF5E9B /* DatabaseList.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2E5528F2BA236A000BF5E9B /* DatabaseList.swift */; }; E2E552922BA236D000BF5E9B /* DatabaseFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2E552912BA236D000BF5E9B /* DatabaseFile.swift */; }; E2E5529B2BA3935600BF5E9B /* HKWorkout+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2E5529A2BA3935600BF5E9B /* HKWorkout+Extensions.swift */; }; - E2E5529E2BA47BA600BF5E9B /* HealthDB in Frameworks */ = {isa = PBXBuildFile; productRef = E2E5529D2BA47BA600BF5E9B /* HealthDB */; }; E2E552A12BA4B14600BF5E9B /* HeartRateSample.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2E552A02BA4B14600BF5E9B /* HeartRateSample.swift */; }; E2E552A32BA4B58F00BF5E9B /* HeartRateGraph.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2E552A22BA4B58F00BF5E9B /* HeartRateGraph.swift */; }; E2E552A72BA7531C00BF5E9B /* Event+Identifiable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2E552A62BA7531C00BF5E9B /* Event+Identifiable.swift */; }; @@ -154,10 +154,10 @@ files = ( 885002A62B5D296700E7D4DB /* Collections in Frameworks */, E20881D32B76912000D41D95 /* HealthKitExtensions in Frameworks */, - 885002772B5C2FC400E7D4DB /* SQLite in Frameworks */, 885002AA2B5D296700E7D4DB /* OrderedCollections in Frameworks */, - E2E5529E2BA47BA600BF5E9B /* HealthDB in Frameworks */, 885002A82B5D296700E7D4DB /* DequeModule in Frameworks */, + E29E17C22D4D04B900E0EE54 /* HealthDB in Frameworks */, + E29E17BF2D4D04A200E0EE54 /* SQLite in Frameworks */, E2A38EA82B9C6EE800BAD02E /* SFSafeSymbols in Frameworks */, E2FDFF202B6BE34C0080A7B3 /* SwiftProtobuf in Frameworks */, ); @@ -335,14 +335,14 @@ ); name = HealthImport; packageProductDependencies = ( - 885002762B5C2FC400E7D4DB /* SQLite */, 885002A52B5D296700E7D4DB /* Collections */, 885002A72B5D296700E7D4DB /* DequeModule */, 885002A92B5D296700E7D4DB /* OrderedCollections */, E2FDFF1F2B6BE34C0080A7B3 /* SwiftProtobuf */, E20881D22B76912000D41D95 /* HealthKitExtensions */, E2A38EA72B9C6EE800BAD02E /* SFSafeSymbols */, - E2E5529D2BA47BA600BF5E9B /* HealthDB */, + E29E17BE2D4D04A200E0EE54 /* SQLite */, + E29E17C12D4D04B900E0EE54 /* HealthDB */, ); productName = HealthImport; productReference = 885002572B5C273C00E7D4DB /* HealthImport.app */; @@ -373,12 +373,12 @@ ); mainGroup = 8850024E2B5C273C00E7D4DB; packageReferences = ( - 885002752B5C2FC400E7D4DB /* XCRemoteSwiftPackageReference "SQLite" */, 885002A42B5D296700E7D4DB /* XCRemoteSwiftPackageReference "swift-collections" */, E2FDFF1E2B6BE34C0080A7B3 /* XCRemoteSwiftPackageReference "swift-protobuf" */, E20881D12B76912000D41D95 /* XCRemoteSwiftPackageReference "HealthKitExtensions" */, E2A38EA62B9C6EE800BAD02E /* XCRemoteSwiftPackageReference "SFSafeSymbols" */, - E2E552972BA3748500BF5E9B /* XCRemoteSwiftPackageReference "HealthDB" */, + E29E17BD2D4D04A200E0EE54 /* XCRemoteSwiftPackageReference "SQLite" */, + E29E17C02D4D04B900E0EE54 /* XCRemoteSwiftPackageReference "HealthDB" */, ); productRefGroup = 885002582B5C273C00E7D4DB /* Products */; projectDirPath = ""; @@ -688,14 +688,6 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - 885002752B5C2FC400E7D4DB /* XCRemoteSwiftPackageReference "SQLite" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/stephencelis/SQLite.swift"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 0.14.1; - }; - }; 885002A42B5D296700E7D4DB /* XCRemoteSwiftPackageReference "swift-collections" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/apple/swift-collections.git"; @@ -712,6 +704,22 @@ minimumVersion = 0.4.0; }; }; + E29E17BD2D4D04A200E0EE54 /* XCRemoteSwiftPackageReference "SQLite" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/stephencelis/SQLite.swift"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 0.15.3; + }; + }; + E29E17C02D4D04B900E0EE54 /* XCRemoteSwiftPackageReference "HealthDB" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/christophhagen/HealthDB"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 0.4.4; + }; + }; E2A38EA62B9C6EE800BAD02E /* XCRemoteSwiftPackageReference "SFSafeSymbols" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/SFSafeSymbols/SFSafeSymbols"; @@ -720,14 +728,6 @@ minimumVersion = 5.2.0; }; }; - E2E552972BA3748500BF5E9B /* XCRemoteSwiftPackageReference "HealthDB" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/christophhagen/HealthDB"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 0.4.0; - }; - }; E2FDFF1E2B6BE34C0080A7B3 /* XCRemoteSwiftPackageReference "swift-protobuf" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/apple/swift-protobuf.git"; @@ -739,11 +739,6 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 885002762B5C2FC400E7D4DB /* SQLite */ = { - isa = XCSwiftPackageProductDependency; - package = 885002752B5C2FC400E7D4DB /* XCRemoteSwiftPackageReference "SQLite" */; - productName = SQLite; - }; 885002A52B5D296700E7D4DB /* Collections */ = { isa = XCSwiftPackageProductDependency; package = 885002A42B5D296700E7D4DB /* XCRemoteSwiftPackageReference "swift-collections" */; @@ -764,16 +759,21 @@ package = E20881D12B76912000D41D95 /* XCRemoteSwiftPackageReference "HealthKitExtensions" */; productName = HealthKitExtensions; }; + E29E17BE2D4D04A200E0EE54 /* SQLite */ = { + isa = XCSwiftPackageProductDependency; + package = E29E17BD2D4D04A200E0EE54 /* XCRemoteSwiftPackageReference "SQLite" */; + productName = SQLite; + }; + E29E17C12D4D04B900E0EE54 /* HealthDB */ = { + isa = XCSwiftPackageProductDependency; + package = E29E17C02D4D04B900E0EE54 /* XCRemoteSwiftPackageReference "HealthDB" */; + productName = HealthDB; + }; E2A38EA72B9C6EE800BAD02E /* SFSafeSymbols */ = { isa = XCSwiftPackageProductDependency; package = E2A38EA62B9C6EE800BAD02E /* XCRemoteSwiftPackageReference "SFSafeSymbols" */; productName = SFSafeSymbols; }; - E2E5529D2BA47BA600BF5E9B /* HealthDB */ = { - isa = XCSwiftPackageProductDependency; - package = E2E552972BA3748500BF5E9B /* XCRemoteSwiftPackageReference "HealthDB" */; - productName = HealthDB; - }; E2FDFF1F2B6BE34C0080A7B3 /* SwiftProtobuf */ = { isa = XCSwiftPackageProductDependency; package = E2FDFF1E2B6BE34C0080A7B3 /* XCRemoteSwiftPackageReference "swift-protobuf" */; diff --git a/HealthImport.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/HealthImport.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 9bd7944..d399fe0 100644 --- a/HealthImport.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/HealthImport.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,13 +1,13 @@ { - "originHash" : "5b8e27ff27b74293d3ae2085172fcc80a2317825fae6f3e7879caab9728af319", + "originHash" : "853d27802fcd1b74fc9030c3fd718aa74e5a159d9bd4e67bca057ac38d56b364", "pins" : [ { "identity" : "healthdb", "kind" : "remoteSourceControl", "location" : "https://github.com/christophhagen/HealthDB", "state" : { - "revision" : "cd077d034d88d31cf283bcf5c0663cb027496a66", - "version" : "0.4.1" + "revision" : "b02391d12d52623fa15fa79a097c7fefd16ddf32", + "version" : "0.4.4" } }, { @@ -33,8 +33,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/stephencelis/SQLite.swift", "state" : { - "revision" : "7a2e3cd27de56f6d396e84f63beefd0267b55ccb", - "version" : "0.14.1" + "revision" : "a95fc6df17d108bd99210db5e8a9bac90fe984b8", + "version" : "0.15.3" } }, { diff --git a/HealthImport.xcodeproj/project.xcworkspace/xcuserdata/ch.xcuserdatad/UserInterfaceState.xcuserstate b/HealthImport.xcodeproj/project.xcworkspace/xcuserdata/ch.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..c0f8a6c923e3815c8640484119d278cfd8d37bd2 GIT binary patch literal 39919 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 z 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 literal 0 HcmV?d00001 diff --git a/HealthImport/Extensions/Event+Identifiable.swift b/HealthImport/Extensions/Event+Identifiable.swift index 966751d..ec41def 100644 --- a/HealthImport/Extensions/Event+Identifiable.swift +++ b/HealthImport/Extensions/Event+Identifiable.swift @@ -1,7 +1,7 @@ import Foundation import HealthKit -extension HKWorkoutEvent: Identifiable { +extension HKWorkoutEvent: @retroactive Identifiable { public var id: Int { Int(dateInterval.start.timeIntervalSinceReferenceDate) << 16 + diff --git a/HealthImport/Extensions/Workout+Extensions.swift b/HealthImport/Extensions/Workout+Extensions.swift index 957ab83..86c227f 100644 --- a/HealthImport/Extensions/Workout+Extensions.swift +++ b/HealthImport/Extensions/Workout+Extensions.swift @@ -10,7 +10,7 @@ private let df: DateFormatter = { return df }() -extension Workout: Identifiable { +extension Workout: @retroactive Identifiable { public var id: Int { dataId diff --git a/HealthImport/SearchHealthStoreView.swift b/HealthImport/SearchHealthStoreView.swift index 42675b6..4000786 100644 --- a/HealthImport/SearchHealthStoreView.swift +++ b/HealthImport/SearchHealthStoreView.swift @@ -83,7 +83,7 @@ struct SearchHealthStoreView: View { SearchHealthStoreView() } -extension HKQuantityTypeIdentifier: Identifiable { +extension HKQuantityTypeIdentifier: @retroactive Identifiable { public var id: String { rawValue diff --git a/HealthImport/Workouts/WorkoutDetailView.swift b/HealthImport/Workouts/WorkoutDetailView.swift index 8e2cab6..d2c0173 100644 --- a/HealthImport/Workouts/WorkoutDetailView.swift +++ b/HealthImport/Workouts/WorkoutDetailView.swift @@ -449,7 +449,7 @@ struct WorkoutDetailView: View { } } -extension String: Identifiable { +extension String: @retroactive Identifiable { public var id: Self { self } }