Skip to content

Commit 4654a36

Browse files
authored
make SensorKit background processing no longer crash (#119)
1 parent 50d900e commit 4654a36

5 files changed

Lines changed: 23 additions & 22 deletions

File tree

MyHeartCounts.xcodeproj/project.pbxproj

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@
9696
80A0083F2DEFD0B300A446BA /* Collections in Frameworks */ = {isa = PBXBuildFile; productRef = 80A0083E2DEFD0B300A446BA /* Collections */; };
9797
80A008462DEFD0F900A446BA /* OrderedCollections in Frameworks */ = {isa = PBXBuildFile; productRef = 80A008452DEFD0F900A446BA /* OrderedCollections */; };
9898
80A8F7F32EDB222400944D94 /* MHCStudyDefinitionExporter in Frameworks */ = {isa = PBXBuildFile; productRef = 80A8F7F22EDB222400944D94 /* MHCStudyDefinitionExporter */; };
99+
80ADAC602F0FEC9C0061DE0C /* SpeziSensorKit in Frameworks */ = {isa = PBXBuildFile; productRef = 80ADAC5F2F0FEC9C0061DE0C /* SpeziSensorKit */; };
99100
80B8A1DA2EC0B70600F0E453 /* XCTHealthKit in Frameworks */ = {isa = PBXBuildFile; productRef = 80B8A1D92EC0B70600F0E453 /* XCTHealthKit */; };
100101
80B8A2132EC106A100F0E453 /* SpeziFHIR in Frameworks */ = {isa = PBXBuildFile; productRef = 80B8A2122EC106A100F0E453 /* SpeziFHIR */; };
101102
80B8A2152EC106A100F0E453 /* SpeziFHIRHealthKit in Frameworks */ = {isa = PBXBuildFile; productRef = 80B8A2142EC106A100F0E453 /* SpeziFHIRHealthKit */; };
@@ -115,7 +116,6 @@
115116
80E774A62D81B4B20035A0EE /* SpeziFirestore in Frameworks */ = {isa = PBXBuildFile; productRef = 80E774A52D81B4B20035A0EE /* SpeziFirestore */; };
116117
80E982FB2EBA463500202499 /* SpeziConsent in Frameworks */ = {isa = PBXBuildFile; productRef = 805BE3CE2E060B3A001E5CA4 /* SpeziConsent */; };
117118
80E982FC2EBA463500202499 /* SpeziConsent in Frameworks */ = {isa = PBXBuildFile; productRef = 808A92CA2E47E159007046E0 /* SpeziConsent */; };
118-
80F410E62F08146B00D7EB12 /* SpeziSensorKit in Frameworks */ = {isa = PBXBuildFile; productRef = 80F410E52F08146B00D7EB12 /* SpeziSensorKit */; };
119119
9739A0C62AD7B5730084BEA5 /* FirebaseStorage in Frameworks */ = {isa = PBXBuildFile; productRef = 9739A0C52AD7B5730084BEA5 /* FirebaseStorage */; };
120120
A94DDFFD2CBD1190004930BD /* SpeziNotifications in Frameworks */ = {isa = PBXBuildFile; productRef = A94DDFFC2CBD1190004930BD /* SpeziNotifications */; };
121121
A9947BF42CC142BD0068AA8A /* XCTSpeziNotifications in Frameworks */ = {isa = PBXBuildFile; productRef = A9947BF32CC142BD0068AA8A /* XCTSpeziNotifications */; };
@@ -265,7 +265,7 @@
265265
8052B86B2EB9FFDF005E2D8C /* SpeziStudy in Frameworks */,
266266
8052B86A2EB9FFDF005E2D8C /* SpeziOnboarding in Frameworks */,
267267
800474692EF066E100585753 /* SpeziFirebaseAccount in Frameworks */,
268-
80F410E62F08146B00D7EB12 /* SpeziSensorKit in Frameworks */,
268+
80ADAC602F0FEC9C0061DE0C /* SpeziSensorKit in Frameworks */,
269269
8052B8692EB9FFDF005E2D8C /* SpeziFirebaseAccount in Frameworks */,
270270
8052B8682EB9FFDF005E2D8C /* SpeziStudy in Frameworks */,
271271
8052B8672EB9FFDF005E2D8C /* SpeziOnboarding in Frameworks */,
@@ -533,7 +533,7 @@
533533
80E6B9332EFAC1960037D4BB /* SpeziHealthKit */,
534534
80E6B9352EFAC1960037D4BB /* SpeziHealthKitBulkExport */,
535535
80E6B9372EFAC1960037D4BB /* SpeziHealthKitUI */,
536-
80F410E52F08146B00D7EB12 /* SpeziSensorKit */,
536+
80ADAC5F2F0FEC9C0061DE0C /* SpeziSensorKit */,
537537
);
538538
productName = MyHeartCounts;
539539
productReference = 653A254D283387FE005D4D48 /* MyHeartCounts.app */;
@@ -690,7 +690,7 @@
690690
800474672EF066E100585753 /* XCRemoteSwiftPackageReference "SpeziFirebase" */,
691691
804D89382EF4C0030037E431 /* XCRemoteSwiftPackageReference "SpeziAccount" */,
692692
80E6B9322EFAC1960037D4BB /* XCRemoteSwiftPackageReference "SpeziHealthKit" */,
693-
80F410E42F08146B00D7EB12 /* XCRemoteSwiftPackageReference "SpeziSensorKit" */,
693+
80ADAC5E2F0FEC9C0061DE0C /* XCRemoteSwiftPackageReference "SpeziSensorKit" */,
694694
);
695695
productRefGroup = 653A254E283387FE005D4D48 /* Products */;
696696
projectDirPath = "";
@@ -1458,6 +1458,14 @@
14581458
minimumVersion = 3.1.2;
14591459
};
14601460
};
1461+
80ADAC5E2F0FEC9C0061DE0C /* XCRemoteSwiftPackageReference "SpeziSensorKit" */ = {
1462+
isa = XCRemoteSwiftPackageReference;
1463+
repositoryURL = "https://github.com/StanfordSpezi/SpeziSensorKit.git";
1464+
requirement = {
1465+
kind = upToNextMinorVersion;
1466+
minimumVersion = 0.6.1;
1467+
};
1468+
};
14611469
80B8A1D82EC0B70600F0E453 /* XCRemoteSwiftPackageReference "XCTHealthKit" */ = {
14621470
isa = XCRemoteSwiftPackageReference;
14631471
repositoryURL = "https://github.com/StanfordBDHG/XCTHealthKit.git";
@@ -1514,14 +1522,6 @@
15141522
minimumVersion = 1.3.2;
15151523
};
15161524
};
1517-
80F410E42F08146B00D7EB12 /* XCRemoteSwiftPackageReference "SpeziSensorKit" */ = {
1518-
isa = XCRemoteSwiftPackageReference;
1519-
repositoryURL = "https://github.com/StanfordSpezi/SpeziSensorKit.git";
1520-
requirement = {
1521-
kind = upToNextMinorVersion;
1522-
minimumVersion = 0.6.0;
1523-
};
1524-
};
15251525
A94DDFFB2CBD1190004930BD /* XCRemoteSwiftPackageReference "SpeziNotifications" */ = {
15261526
isa = XCRemoteSwiftPackageReference;
15271527
repositoryURL = "https://github.com/StanfordSpezi/SpeziNotifications.git";
@@ -1916,6 +1916,11 @@
19161916
package = 804C11E22ECA380D004783C3 /* XCRemoteSwiftPackageReference "MyHeartCounts-StudyDefinitions" */;
19171917
productName = MHCStudyDefinitionExporter;
19181918
};
1919+
80ADAC5F2F0FEC9C0061DE0C /* SpeziSensorKit */ = {
1920+
isa = XCSwiftPackageProductDependency;
1921+
package = 80ADAC5E2F0FEC9C0061DE0C /* XCRemoteSwiftPackageReference "SpeziSensorKit" */;
1922+
productName = SpeziSensorKit;
1923+
};
19191924
80B8A1D92EC0B70600F0E453 /* XCTHealthKit */ = {
19201925
isa = XCSwiftPackageProductDependency;
19211926
package = 80B8A1D82EC0B70600F0E453 /* XCRemoteSwiftPackageReference "XCTHealthKit" */;
@@ -2033,11 +2038,6 @@
20332038
isa = XCSwiftPackageProductDependency;
20342039
productName = SpeziStudyDefinition;
20352040
};
2036-
80F410E52F08146B00D7EB12 /* SpeziSensorKit */ = {
2037-
isa = XCSwiftPackageProductDependency;
2038-
package = 80F410E42F08146B00D7EB12 /* XCRemoteSwiftPackageReference "SpeziSensorKit" */;
2039-
productName = SpeziSensorKit;
2040-
};
20412041
9739A0C52AD7B5730084BEA5 /* FirebaseStorage */ = {
20422042
isa = XCSwiftPackageProductDependency;
20432043
package = 2FE5DC9029EDD9C3004B9AB4 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;

MyHeartCounts.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

MyHeartCounts/Onboarding/HealthRecords.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ struct HealthRecords: View {
3838
EmptyView()
3939
} footer: {
4040
OnboardingActionsView(
41-
primaryTitle: "Grant Access",
41+
primaryTitle: "Review Permissions",
4242
primaryViewState: $viewState,
4343
primaryAction: {
4444
await grantAccess()

MyHeartCounts/SensorKit/SensorKitDataFetcher.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ final class SensorKitDataFetcher: ServiceModule, EnvironmentAccessible, @uncheck
6161
do {
6262
try backgroundTasks.register(.healthResearch(
6363
id: .sensorKitProcessing,
64-
options: [.requiresNetworkConnectivity]
64+
options: [.requiresNetworkConnectivity],
65+
protectionTypeOfRequiredData: .complete
6566
) { [weak self] in
6667
guard let self else {
6768
return

MyHeartCountsUITests/AOnboardingTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ extension XCUIApplication {
292292

293293
private func navigateHealthRecords(_ testCase: XCTestCase) {
294294
XCTAssert(staticTexts["Health Records"].waitForExistence(timeout: 2))
295-
buttons["Grant Access"].tap()
295+
buttons["Review Permissions"].tap()
296296
testCase.handleHealthRecordsAuthorization()
297297
}
298298

0 commit comments

Comments
 (0)