Showing 11 changed files with 562 additions and 0 deletions
+354 -0
HealthProbe.xcodeproj/project.pbxproj
@@ -0,0 +1,354 @@
1
+// !$*UTF8*$!
2
+{
3
+	archiveVersion = 1;
4
+	classes = {
5
+	};
6
+	objectVersion = 77;
7
+	objects = {
8
+
9
+/* Begin PBXFileReference section */
10
+		439832792FA4933E003C0182 /* HealthProbe.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HealthProbe.app; sourceTree = BUILT_PRODUCTS_DIR; };
11
+/* End PBXFileReference section */
12
+
13
+/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
14
+		439832862FA4933F003C0182 /* Exceptions for "HealthProbe" folder in "HealthProbe" target */ = {
15
+			isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
16
+			membershipExceptions = (
17
+				Info.plist,
18
+			);
19
+			target = 439832782FA4933E003C0182 /* HealthProbe */;
20
+		};
21
+/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
22
+
23
+/* Begin PBXFileSystemSynchronizedRootGroup section */
24
+		4398327B2FA4933E003C0182 /* HealthProbe */ = {
25
+			isa = PBXFileSystemSynchronizedRootGroup;
26
+			exceptions = (
27
+				439832862FA4933F003C0182 /* Exceptions for "HealthProbe" folder in "HealthProbe" target */,
28
+			);
29
+			path = HealthProbe;
30
+			sourceTree = "<group>";
31
+		};
32
+/* End PBXFileSystemSynchronizedRootGroup section */
33
+
34
+/* Begin PBXFrameworksBuildPhase section */
35
+		439832762FA4933E003C0182 /* Frameworks */ = {
36
+			isa = PBXFrameworksBuildPhase;
37
+			buildActionMask = 2147483647;
38
+			files = (
39
+			);
40
+			runOnlyForDeploymentPostprocessing = 0;
41
+		};
42
+/* End PBXFrameworksBuildPhase section */
43
+
44
+/* Begin PBXGroup section */
45
+		439832702FA4933E003C0182 = {
46
+			isa = PBXGroup;
47
+			children = (
48
+				4398327B2FA4933E003C0182 /* HealthProbe */,
49
+				4398327A2FA4933E003C0182 /* Products */,
50
+			);
51
+			sourceTree = "<group>";
52
+		};
53
+		4398327A2FA4933E003C0182 /* Products */ = {
54
+			isa = PBXGroup;
55
+			children = (
56
+				439832792FA4933E003C0182 /* HealthProbe.app */,
57
+			);
58
+			name = Products;
59
+			sourceTree = "<group>";
60
+		};
61
+/* End PBXGroup section */
62
+
63
+/* Begin PBXNativeTarget section */
64
+		439832782FA4933E003C0182 /* HealthProbe */ = {
65
+			isa = PBXNativeTarget;
66
+			buildConfigurationList = 439832872FA4933F003C0182 /* Build configuration list for PBXNativeTarget "HealthProbe" */;
67
+			buildPhases = (
68
+				439832752FA4933E003C0182 /* Sources */,
69
+				439832762FA4933E003C0182 /* Frameworks */,
70
+				439832772FA4933E003C0182 /* Resources */,
71
+			);
72
+			buildRules = (
73
+			);
74
+			dependencies = (
75
+			);
76
+			fileSystemSynchronizedGroups = (
77
+				4398327B2FA4933E003C0182 /* HealthProbe */,
78
+			);
79
+			name = HealthProbe;
80
+			packageProductDependencies = (
81
+			);
82
+			productName = HealthProbe;
83
+			productReference = 439832792FA4933E003C0182 /* HealthProbe.app */;
84
+			productType = "com.apple.product-type.application";
85
+		};
86
+/* End PBXNativeTarget section */
87
+
88
+/* Begin PBXProject section */
89
+		439832712FA4933E003C0182 /* Project object */ = {
90
+			isa = PBXProject;
91
+			attributes = {
92
+				BuildIndependentTargetsInParallel = 1;
93
+				LastSwiftUpdateCheck = 2640;
94
+				LastUpgradeCheck = 2640;
95
+				TargetAttributes = {
96
+					439832782FA4933E003C0182 = {
97
+						CreatedOnToolsVersion = 26.4.1;
98
+					};
99
+				};
100
+			};
101
+			buildConfigurationList = 439832742FA4933E003C0182 /* Build configuration list for PBXProject "HealthProbe" */;
102
+			developmentRegion = en;
103
+			hasScannedForEncodings = 0;
104
+			knownRegions = (
105
+				en,
106
+				Base,
107
+			);
108
+			mainGroup = 439832702FA4933E003C0182;
109
+			minimizedProjectReferenceProxies = 1;
110
+			preferredProjectObjectVersion = 77;
111
+			productRefGroup = 4398327A2FA4933E003C0182 /* Products */;
112
+			projectDirPath = "";
113
+			projectRoot = "";
114
+			targets = (
115
+				439832782FA4933E003C0182 /* HealthProbe */,
116
+			);
117
+		};
118
+/* End PBXProject section */
119
+
120
+/* Begin PBXResourcesBuildPhase section */
121
+		439832772FA4933E003C0182 /* Resources */ = {
122
+			isa = PBXResourcesBuildPhase;
123
+			buildActionMask = 2147483647;
124
+			files = (
125
+			);
126
+			runOnlyForDeploymentPostprocessing = 0;
127
+		};
128
+/* End PBXResourcesBuildPhase section */
129
+
130
+/* Begin PBXSourcesBuildPhase section */
131
+		439832752FA4933E003C0182 /* Sources */ = {
132
+			isa = PBXSourcesBuildPhase;
133
+			buildActionMask = 2147483647;
134
+			files = (
135
+			);
136
+			runOnlyForDeploymentPostprocessing = 0;
137
+		};
138
+/* End PBXSourcesBuildPhase section */
139
+
140
+/* Begin XCBuildConfiguration section */
141
+		439832882FA4933F003C0182 /* Debug */ = {
142
+			isa = XCBuildConfiguration;
143
+			buildSettings = {
144
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
145
+				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
146
+				CODE_SIGN_ENTITLEMENTS = HealthProbe/HealthProbe.entitlements;
147
+				CODE_SIGN_STYLE = Automatic;
148
+				CURRENT_PROJECT_VERSION = 1;
149
+				DEVELOPMENT_TEAM = 9K2U3V9GZF;
150
+				ENABLE_PREVIEWS = YES;
151
+				GENERATE_INFOPLIST_FILE = YES;
152
+				INFOPLIST_FILE = HealthProbe/Info.plist;
153
+				INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
154
+				INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
155
+				INFOPLIST_KEY_UILaunchScreen_Generation = YES;
156
+				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
157
+				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
158
+				LD_RUNPATH_SEARCH_PATHS = (
159
+					"$(inherited)",
160
+					"@executable_path/Frameworks",
161
+				);
162
+				MARKETING_VERSION = 1.0;
163
+				PRODUCT_BUNDLE_IDENTIFIER = ro.xdev.HealthProbe;
164
+				PRODUCT_NAME = "$(TARGET_NAME)";
165
+				STRING_CATALOG_GENERATE_SYMBOLS = YES;
166
+				SWIFT_APPROACHABLE_CONCURRENCY = YES;
167
+				SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor;
168
+				SWIFT_EMIT_LOC_STRINGS = YES;
169
+				SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
170
+				SWIFT_VERSION = 5.0;
171
+				TARGETED_DEVICE_FAMILY = "1,2";
172
+			};
173
+			name = Debug;
174
+		};
175
+		439832892FA4933F003C0182 /* Release */ = {
176
+			isa = XCBuildConfiguration;
177
+			buildSettings = {
178
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
179
+				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
180
+				CODE_SIGN_ENTITLEMENTS = HealthProbe/HealthProbe.entitlements;
181
+				CODE_SIGN_STYLE = Automatic;
182
+				CURRENT_PROJECT_VERSION = 1;
183
+				DEVELOPMENT_TEAM = 9K2U3V9GZF;
184
+				ENABLE_PREVIEWS = YES;
185
+				GENERATE_INFOPLIST_FILE = YES;
186
+				INFOPLIST_FILE = HealthProbe/Info.plist;
187
+				INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
188
+				INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
189
+				INFOPLIST_KEY_UILaunchScreen_Generation = YES;
190
+				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
191
+				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
192
+				LD_RUNPATH_SEARCH_PATHS = (
193
+					"$(inherited)",
194
+					"@executable_path/Frameworks",
195
+				);
196
+				MARKETING_VERSION = 1.0;
197
+				PRODUCT_BUNDLE_IDENTIFIER = ro.xdev.HealthProbe;
198
+				PRODUCT_NAME = "$(TARGET_NAME)";
199
+				STRING_CATALOG_GENERATE_SYMBOLS = YES;
200
+				SWIFT_APPROACHABLE_CONCURRENCY = YES;
201
+				SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor;
202
+				SWIFT_EMIT_LOC_STRINGS = YES;
203
+				SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
204
+				SWIFT_VERSION = 5.0;
205
+				TARGETED_DEVICE_FAMILY = "1,2";
206
+			};
207
+			name = Release;
208
+		};
209
+		4398328A2FA4933F003C0182 /* Debug */ = {
210
+			isa = XCBuildConfiguration;
211
+			buildSettings = {
212
+				ALWAYS_SEARCH_USER_PATHS = NO;
213
+				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
214
+				CLANG_ANALYZER_NONNULL = YES;
215
+				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
216
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
217
+				CLANG_ENABLE_MODULES = YES;
218
+				CLANG_ENABLE_OBJC_ARC = YES;
219
+				CLANG_ENABLE_OBJC_WEAK = YES;
220
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
221
+				CLANG_WARN_BOOL_CONVERSION = YES;
222
+				CLANG_WARN_COMMA = YES;
223
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
224
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
225
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
226
+				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
227
+				CLANG_WARN_EMPTY_BODY = YES;
228
+				CLANG_WARN_ENUM_CONVERSION = YES;
229
+				CLANG_WARN_INFINITE_RECURSION = YES;
230
+				CLANG_WARN_INT_CONVERSION = YES;
231
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
232
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
233
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
234
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
235
+				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
236
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
237
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
238
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
239
+				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
240
+				CLANG_WARN_UNREACHABLE_CODE = YES;
241
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
242
+				COPY_PHASE_STRIP = NO;
243
+				DEBUG_INFORMATION_FORMAT = dwarf;
244
+				DEVELOPMENT_TEAM = 9K2U3V9GZF;
245
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
246
+				ENABLE_TESTABILITY = YES;
247
+				ENABLE_USER_SCRIPT_SANDBOXING = YES;
248
+				GCC_C_LANGUAGE_STANDARD = gnu17;
249
+				GCC_DYNAMIC_NO_PIC = NO;
250
+				GCC_NO_COMMON_BLOCKS = YES;
251
+				GCC_OPTIMIZATION_LEVEL = 0;
252
+				GCC_PREPROCESSOR_DEFINITIONS = (
253
+					"DEBUG=1",
254
+					"$(inherited)",
255
+				);
256
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
257
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
258
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
259
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
260
+				GCC_WARN_UNUSED_FUNCTION = YES;
261
+				GCC_WARN_UNUSED_VARIABLE = YES;
262
+				IPHONEOS_DEPLOYMENT_TARGET = 26.4;
263
+				LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
264
+				MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
265
+				MTL_FAST_MATH = YES;
266
+				ONLY_ACTIVE_ARCH = YES;
267
+				SDKROOT = iphoneos;
268
+				SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
269
+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
270
+			};
271
+			name = Debug;
272
+		};
273
+		4398328B2FA4933F003C0182 /* Release */ = {
274
+			isa = XCBuildConfiguration;
275
+			buildSettings = {
276
+				ALWAYS_SEARCH_USER_PATHS = NO;
277
+				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
278
+				CLANG_ANALYZER_NONNULL = YES;
279
+				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
280
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
281
+				CLANG_ENABLE_MODULES = YES;
282
+				CLANG_ENABLE_OBJC_ARC = YES;
283
+				CLANG_ENABLE_OBJC_WEAK = YES;
284
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
285
+				CLANG_WARN_BOOL_CONVERSION = YES;
286
+				CLANG_WARN_COMMA = YES;
287
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
288
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
289
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
290
+				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
291
+				CLANG_WARN_EMPTY_BODY = YES;
292
+				CLANG_WARN_ENUM_CONVERSION = YES;
293
+				CLANG_WARN_INFINITE_RECURSION = YES;
294
+				CLANG_WARN_INT_CONVERSION = YES;
295
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
296
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
297
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
298
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
299
+				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
300
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
301
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
302
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
303
+				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
304
+				CLANG_WARN_UNREACHABLE_CODE = YES;
305
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
306
+				COPY_PHASE_STRIP = NO;
307
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
308
+				DEVELOPMENT_TEAM = 9K2U3V9GZF;
309
+				ENABLE_NS_ASSERTIONS = NO;
310
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
311
+				ENABLE_USER_SCRIPT_SANDBOXING = YES;
312
+				GCC_C_LANGUAGE_STANDARD = gnu17;
313
+				GCC_NO_COMMON_BLOCKS = YES;
314
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
315
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
316
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
317
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
318
+				GCC_WARN_UNUSED_FUNCTION = YES;
319
+				GCC_WARN_UNUSED_VARIABLE = YES;
320
+				IPHONEOS_DEPLOYMENT_TARGET = 26.4;
321
+				LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
322
+				MTL_ENABLE_DEBUG_INFO = NO;
323
+				MTL_FAST_MATH = YES;
324
+				SDKROOT = iphoneos;
325
+				SWIFT_COMPILATION_MODE = wholemodule;
326
+				VALIDATE_PRODUCT = YES;
327
+			};
328
+			name = Release;
329
+		};
330
+/* End XCBuildConfiguration section */
331
+
332
+/* Begin XCConfigurationList section */
333
+		439832742FA4933E003C0182 /* Build configuration list for PBXProject "HealthProbe" */ = {
334
+			isa = XCConfigurationList;
335
+			buildConfigurations = (
336
+				4398328A2FA4933F003C0182 /* Debug */,
337
+				4398328B2FA4933F003C0182 /* Release */,
338
+			);
339
+			defaultConfigurationIsVisible = 0;
340
+			defaultConfigurationName = Release;
341
+		};
342
+		439832872FA4933F003C0182 /* Build configuration list for PBXNativeTarget "HealthProbe" */ = {
343
+			isa = XCConfigurationList;
344
+			buildConfigurations = (
345
+				439832882FA4933F003C0182 /* Debug */,
346
+				439832892FA4933F003C0182 /* Release */,
347
+			);
348
+			defaultConfigurationIsVisible = 0;
349
+			defaultConfigurationName = Release;
350
+		};
351
+/* End XCConfigurationList section */
352
+	};
353
+	rootObject = 439832712FA4933E003C0182 /* Project object */;
354
+}
+7 -0
HealthProbe.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<Workspace
3
+   version = "1.0">
4
+   <FileRef
5
+      location = "self:">
6
+   </FileRef>
7
+</Workspace>
+14 -0
HealthProbe.xcodeproj/xcuserdata/bogdan.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,14 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+	<key>SchemeUserState</key>
6
+	<dict>
7
+		<key>HealthProbe.xcscheme_^#shared#^_</key>
8
+		<dict>
9
+			<key>orderHint</key>
10
+			<integer>0</integer>
11
+		</dict>
12
+	</dict>
13
+</dict>
14
+</plist>
+11 -0
HealthProbe/Assets.xcassets/AccentColor.colorset/Contents.json
@@ -0,0 +1,11 @@
1
+{
2
+  "colors" : [
3
+    {
4
+      "idiom" : "universal"
5
+    }
6
+  ],
7
+  "info" : {
8
+    "author" : "xcode",
9
+    "version" : 1
10
+  }
11
+}
+35 -0
HealthProbe/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,35 @@
1
+{
2
+  "images" : [
3
+    {
4
+      "idiom" : "universal",
5
+      "platform" : "ios",
6
+      "size" : "1024x1024"
7
+    },
8
+    {
9
+      "appearances" : [
10
+        {
11
+          "appearance" : "luminosity",
12
+          "value" : "dark"
13
+        }
14
+      ],
15
+      "idiom" : "universal",
16
+      "platform" : "ios",
17
+      "size" : "1024x1024"
18
+    },
19
+    {
20
+      "appearances" : [
21
+        {
22
+          "appearance" : "luminosity",
23
+          "value" : "tinted"
24
+        }
25
+      ],
26
+      "idiom" : "universal",
27
+      "platform" : "ios",
28
+      "size" : "1024x1024"
29
+    }
30
+  ],
31
+  "info" : {
32
+    "author" : "xcode",
33
+    "version" : 1
34
+  }
35
+}
+6 -0
HealthProbe/Assets.xcassets/Contents.json
@@ -0,0 +1,6 @@
1
+{
2
+  "info" : {
3
+    "author" : "xcode",
4
+    "version" : 1
5
+  }
6
+}
+61 -0
HealthProbe/ContentView.swift
@@ -0,0 +1,61 @@
1
+//
2
+//  ContentView.swift
3
+//  HealthProbe
4
+//
5
+//  Created by Bogdan Timofte on 01/05/2026.
6
+//
7
+
8
+import SwiftUI
9
+import SwiftData
10
+
11
+struct ContentView: View {
12
+    @Environment(\.modelContext) private var modelContext
13
+    @Query private var items: [Item]
14
+
15
+    var body: some View {
16
+        NavigationSplitView {
17
+            List {
18
+                ForEach(items) { item in
19
+                    NavigationLink {
20
+                        Text("Item at \(item.timestamp, format: Date.FormatStyle(date: .numeric, time: .standard))")
21
+                    } label: {
22
+                        Text(item.timestamp, format: Date.FormatStyle(date: .numeric, time: .standard))
23
+                    }
24
+                }
25
+                .onDelete(perform: deleteItems)
26
+            }
27
+            .toolbar {
28
+                ToolbarItem(placement: .navigationBarTrailing) {
29
+                    EditButton()
30
+                }
31
+                ToolbarItem {
32
+                    Button(action: addItem) {
33
+                        Label("Add Item", systemImage: "plus")
34
+                    }
35
+                }
36
+            }
37
+        } detail: {
38
+            Text("Select an item")
39
+        }
40
+    }
41
+
42
+    private func addItem() {
43
+        withAnimation {
44
+            let newItem = Item(timestamp: Date())
45
+            modelContext.insert(newItem)
46
+        }
47
+    }
48
+
49
+    private func deleteItems(offsets: IndexSet) {
50
+        withAnimation {
51
+            for index in offsets {
52
+                modelContext.delete(items[index])
53
+            }
54
+        }
55
+    }
56
+}
57
+
58
+#Preview {
59
+    ContentView()
60
+        .modelContainer(for: Item.self, inMemory: true)
61
+}
+14 -0
HealthProbe/HealthProbe.entitlements
@@ -0,0 +1,14 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+	<key>aps-environment</key>
6
+	<string>development</string>
7
+	<key>com.apple.developer.icloud-container-identifiers</key>
8
+	<array/>
9
+	<key>com.apple.developer.icloud-services</key>
10
+	<array>
11
+		<string>CloudKit</string>
12
+	</array>
13
+</dict>
14
+</plist>
+32 -0
HealthProbe/HealthProbeApp.swift
@@ -0,0 +1,32 @@
1
+//
2
+//  HealthProbeApp.swift
3
+//  HealthProbe
4
+//
5
+//  Created by Bogdan Timofte on 01/05/2026.
6
+//
7
+
8
+import SwiftUI
9
+import SwiftData
10
+
11
+@main
12
+struct HealthProbeApp: App {
13
+    var sharedModelContainer: ModelContainer = {
14
+        let schema = Schema([
15
+            Item.self,
16
+        ])
17
+        let modelConfiguration = ModelConfiguration(schema: schema, isStoredInMemoryOnly: false)
18
+
19
+        do {
20
+            return try ModelContainer(for: schema, configurations: [modelConfiguration])
21
+        } catch {
22
+            fatalError("Could not create ModelContainer: \(error)")
23
+        }
24
+    }()
25
+
26
+    var body: some Scene {
27
+        WindowGroup {
28
+            ContentView()
29
+        }
30
+        .modelContainer(sharedModelContainer)
31
+    }
32
+}
+10 -0
HealthProbe/Info.plist
@@ -0,0 +1,10 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+	<key>UIBackgroundModes</key>
6
+	<array>
7
+		<string>remote-notification</string>
8
+	</array>
9
+</dict>
10
+</plist>
+18 -0
HealthProbe/Item.swift
@@ -0,0 +1,18 @@
1
+//
2
+//  Item.swift
3
+//  HealthProbe
4
+//
5
+//  Created by Bogdan Timofte on 01/05/2026.
6
+//
7
+
8
+import Foundation
9
+import SwiftData
10
+
11
+@Model
12
+final class Item {
13
+    var timestamp: Date
14
+    
15
+    init(timestamp: Date) {
16
+        self.timestamp = timestamp
17
+    }
18
+}