diff --git a/HealthImport.xcodeproj/project.pbxproj b/HealthImport.xcodeproj/project.pbxproj index af0122b..3768e6e 100644 --- a/HealthImport.xcodeproj/project.pbxproj +++ b/HealthImport.xcodeproj/project.pbxproj @@ -122,6 +122,7 @@ E2D82B4C2BCD5F780075EAF0 /* SymptomsList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SymptomsList.swift; sourceTree = ""; }; E2D82B4E2BCD61590075EAF0 /* VitalsList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VitalsList.swift; sourceTree = ""; }; E2D82B502BCD626D0075EAF0 /* OtherSamplesList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OtherSamplesList.swift; sourceTree = ""; }; + E2D82B522BCD6CC10075EAF0 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; E2E552882BA2194400BF5E9B /* DatabasesTab.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatabasesTab.swift; sourceTree = ""; }; E2E5528B2BA21C0700BF5E9B /* Database.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Database.swift; sourceTree = ""; }; E2E5528D2BA21C5900BF5E9B /* FileManager+Directory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FileManager+Directory.swift"; sourceTree = ""; }; @@ -168,6 +169,7 @@ 8850024E2B5C273C00E7D4DB = { isa = PBXGroup; children = ( + E2D82B522BCD6CC10075EAF0 /* README.md */, 885002592B5C273C00E7D4DB /* HealthImport */, 885002582B5C273C00E7D4DB /* Products */, E2E5529C2BA47BA600BF5E9B /* Frameworks */, diff --git a/README.md b/README.md new file mode 100644 index 0000000..9bad558 --- /dev/null +++ b/README.md @@ -0,0 +1,41 @@ +# HealthImport + +This iOS app is a prototype to open the raw databases containing Apple Health data. These `healthdb_secure.sqlite` files can be extracted from (encrypted ) iOS Backups. +The structure of the database has been reverse-engineered so that most health data can be viewed and extracted. + +This app is a front-end for [HealthDB](https://github.com/christophhagen/healthdb), which provides the interface to access the database files. + +## Features + +HealthImport offers a view basic features to view and extract health data, mostly centered around workouts. + +### Managing databases + +Multiple databases can be imported into the app. +The databases can be renamed and a default database can be selected. +One database can be opened at a time, so that the contents can be viewed. + +### Workouts + +The existing workouts contained in each database can be viewed in the "Workouts" tab. +The interface has been designed to be similar to the Apple Fitness app. + +A filter allows selecting only those workouts of a specific activity type, and the details of a workout can be viewed. +It shows the workout route, heart rate, and statistics for each workout. + +If the app has the required permissions then it also checks if a similar workout already exists on the phone, and can add missing workouts from the database to `Health`. +This feature is useful to restore workouts that have been deleted from an existing backup. + +### Samples + +The tab "Health" is structured similar to the Apple Health app, and allows to view different samples stored in the database. +Each supported type can be searched by start and end date, and shows a simple list of the samples found. + +## Roadmap + +In the future, additional features are envisioned: + +- View most recent samples, similar to the Apple Health app +- Support viewing special sample types, like ECGs +- Show details for samples, and allow adding them to Apple Health +- Support more filtering options to find samples