iOS & iPadOS App Development

CoreBluetooth, HealthKit, ARKit, and SwiftUI — iOS companion apps built for the hardware, not bolted to it.

Platform engineering
Platform Capabilities

What We Build on This Platform

CoreBluetooth Integration

CBCentralManager, CBPeripheral, GATT service and characteristic implementation for BLE hardware companion apps.

SwiftUI & UIKit

Modern SwiftUI with Combine and async/await for reactive hardware data display and real-time waveform rendering.

HealthKit

HKWorkout, HKElectrocardiogram, HKQuantitySample for medical and fitness device integration with the Apple Health ecosystem.

HomeKit & MatterSupport

HomeKit accessory integration and Matter device commissioning iOS app for smart home and IoT products.

CoreML & Vision

On-device ML inference for hardware-connected sensor data classification using Core ML and Vision frameworks.

Background BLE Processing

Background modes entitlement for continuous BLE data reception when the app is backgrounded or the phone is locked.

App Store Submission

Privacy manifest, entitlement justification, and App Store review preparation for hardware companion apps.

Push Notifications & Alerts

APNs integration for remote device alert delivery to iPhone from IoT backend or hardware event triggers.

Platform Integration

How Ankh Uses This Platform

01

Hardware Interface Layer First

The BLE GATT profile, Wi-Fi provisioning protocol, or USB-C interface is designed and tested against the firmware before a single UI view is developed. The hardware integration layer — CBCentralManager discovery, CBPeripheral connection management, characteristic read/write/notify implementation — is developed as a separate Swift module that the UI consumes, not as code embedded in the view controller.

02

BLE State Machine and Reconnection

CBCentralManager state monitoring, CBCentralManagerDelegate implementation for peripheral discovery and connection events, automatic reconnection on connection loss using the peripheral's UUID from UserDefaults, connection parameter update request for the optimal balance of throughput and battery life, and MTU negotiation for the maximum transfer unit available on the connection.

03

Data Model and Reactive Architecture

MVVM with Combine or async/await for reactive data flow from BLE receive to UI update. Observable device state model that SwiftUI views observe. HealthKit write transactions from the device data model. Core Data or SwiftData for local session persistence.

04

UI Development and Performance

SwiftUI views consuming the reactive data model. Real-time waveform rendering using Canvas or Metal for GPU-accelerated drawing. Instruments profiling for CPU, memory, and energy utilisation. UI test coverage for critical user flows.

05

App Store Submission and Compliance

Privacy manifest declaration for all APIs that access user data or device identifiers. App Store Connect metadata, screenshots, and privacy policy. Apple review guideline compliance review for hardware companion apps. HealthKit entitlement justification for medical device apps. TestFlight beta distribution for pre-release hardware testing.

Engineering Depth

Deep Technical Capability

01

CoreBluetooth in the Real iOS BLE Environment

A CoreBluetooth app that works correctly in development encounters specific failure modes in real deployment that the development environment does not expose. The CBCentralManager that discovers the peripheral in the foreground does not discover it after iOS terminates and restarts the app in the background from a BLE notification — because background scanning is restricted to known service UUIDs that must be specified in scanForPeripherals(). The CBPeripheral that connects and discovers services correctly in foreground fails to maintain the characteristic notification subscription after the connection parameter update negotiation that iOS initiates for power management on the existing connection. Ankh resolves these failure modes by implementing the complete CBCentralManager delegate method set — including the restoration delegate for background app relaunch, the connection parameter update handler, and characteristic notification re-subscription on reconnection — not just the success path that works in the development environment.

02

HealthKit Integration for Medical and Fitness Device Apps

HealthKit integration for a medical device iOS app requires more than writing HKQuantitySample objects to the health store. Medical apps that write clinical health data such as HKElectrocardiogram and HKHeartbeatSeries require specific HealthKit entitlements and the corresponding App Store review justification that Apple's health team evaluates. The HKElectrocardiogram type requires the voltageMeasurements time-series data and the ECG classification — both of which must be generated from the hardware's signal with sufficient clinical accuracy to support the classification. The Health app's display of the ECG recording depends on correct HKElectrocardiogram metadata, correct startDate and duration, and correct HKDevice identifying the hardware peripheral. Ankh implements HealthKit integration from the HealthKit data model specification and App Store review requirements for medical apps — not from the generic HealthKit tutorial that covers fitness data.

03

Background BLE for Continuous Monitoring Apps

An iOS app that needs to maintain a BLE connection to a medical wearable and process incoming data while the iPhone screen is locked requires the bluetooth-central background mode, declared in the app's Info.plist and justified in the App Store review submission. With this background mode, iOS allows the app to receive CBPeripheral delegate callbacks in the background — but with reduced frequency and with the app subject to iOS's background execution time budget. An app that processes large BLE data payloads in the background may find that iOS suspends the app before processing is complete, requiring the use of a background task to request additional execution time. Ankh designs background BLE apps with the correct background mode entitlements, explicit background task requests for extended processing, and the iOS CoreBluetooth option to continue scanning after Bluetooth is restored on device restart.

01

The BLE integration is the product, not the UI

The hardware product companion app whose BLE integration drops the connection when the phone screen locks, fails to reconnect after the peripheral is out of range and returns, or stops receiving characteristic notifications after a connection parameter update has not delivered the hardware product's core value proposition — regardless of how polished the UI looks. Ankh builds the BLE integration layer first, verifies it against the hardware firmware under the full range of iOS foreground, background, and locked states before a single UI element is designed.

02

App Store review is an engineering requirement, not a submission process

An iOS app submitted for App Store review without a privacy manifest declaring all third-party SDKs' API usage, without a justification for every entitlement requested, and without the regulatory compliance documentation that Apple's health team requires for medical device apps will be rejected — adding 1–3 weeks to the product launch schedule. Ankh includes App Store compliance review as a development milestone, reviewing entitlements, privacy manifest, and regulatory documentation against Apple's current review guidelines before the first TestFlight submission.

03

iOS SDK changes require proactive maintenance

Apple releases a major iOS SDK update annually that deprecates APIs, changes privacy requirements, and introduces new entitlement requirements affecting existing apps. An iOS companion app submitted in June for a hardware product launching in October must be tested against the beta iOS SDK released in June and updated for any breaking changes before the September release — because the September iOS update will be installed by most users within 60 days. Ankh maintains iOS companion apps on a proactive annual update schedule aligned with Apple's SDK release cycle.

Quote your project

Building an iOS companion app for your hardware?Let's start with the BLE integration, not the UI.