Skip to main content

Overview

The Synheart Wear Swift SDK provides native iOS support for streaming biometric data from Apple Watch via HealthKit and cloud APIs (WHOOP).

Installation

Swift Package Manager

Add to your Package.swift:
dependencies: [
    .package(url: "https://github.com/synheart-ai/synheart-wear-ios.git", from: "0.1.0")
]
Or in Xcode:
  1. File → Add Packages…
  2. Enter: https://github.com/synheart-ai/synheart-wear-ios.git

Requirements

  • iOS 13.0+
  • Swift 5.9+
  • Xcode 15.0+

Quick Start

Configure HealthKit

Add to Info.plist:
<key>NSHealthShareUsageDescription</key>
<string>We need access to your health data</string>
Enable HealthKit capability in Xcode:
  • Target → Signing & Capabilities → + Capability → HealthKit

Initialize SDK

import SynheartWear

let config = SynheartWearConfig(
    enabledAdapters: [.appleHealthKit],
    enableLocalCaching: true
)

let synheartWear = SynheartWear(config: config)

Request Permissions & Read Data

Task {
    let permissions: Set<PermissionType> = [
        .heartRate,
        .steps,
        .calories
    ]

    let result = try await synheartWear.requestPermissions(permissions: permissions)

    if result[.heartRate] == .granted {
        try await synheartWear.initialize()
        let metrics = try await synheartWear.readMetrics()
        print("Heart Rate: \(metrics.getMetric(.hr) ?? 0) bpm")
    }
}

Real-Time Streaming

Task {
    for try await metrics in synheartWear.streamHR(interval: 5.0) {
        if let hr = metrics.getMetric(.hr) {
            print("Current HR: \(hr) bpm")
        }
    }
}

Resources

For comprehensive documentation, see the full README on GitHub.
Author: Israel Goytom