SDK Development & Specialized Integrations

Published on Β· Updated Β· 6 min

Wlad
Wlad
Founder & Swift Tech Lead

I develop Swift SDKs for various domains:

  • Hardware communication β€” Bluetooth (BLE, Classic MFi), NFC, accessories

  • Security & cryptography β€” encryption layers, authentication, secure enclave

  • Processing & AI β€” OCR, vision, Apple Intelligence, on-device models

  • Media β€” video generation, audio processing, streaming

  • Network APIs β€” REST, GraphQL, WebSocket, gRPC

  • Cross-platform bridges β€” Swift ↔ C, Unity (C#), Flutter

β€œI transform complex technologies into elegant Swift APIs.”

SDK Expertise Domains

Hardware Communication

SDKs for communication protocols with peripherals.

Technologies:

    • Bluetooth Low Energy (BLE) β€” CoreBluetooth, scanning, GATT
    • Bluetooth Classic MFi β€” External Accessory, Apple certification
    • NFC β€” Core NFC, NDEF, tag reading/writing
    • Accessories β€” MFi, CarPlay, External Accessory

Example mission: BLE/MFi communication SDK with C bridge for Unity (C#) integration.

Complexities handled:

  • Connection state machines

  • Retry and automatic reconnection

  • Permission management

  • Background modes

  • Proprietary protocols

Security & Cryptography

SDKs for advanced security features.

Technologies:

    • CryptoKit β€” encryption, signatures, hashing
    • Secure Enclave β€” hardware-protected keys
    • Keychain Services β€” secure storage
    • Local Authentication β€” Face ID, Touch ID
    • App Attest β€” app integrity

Example mission: End-to-end encryption SDK with key management and secure storage.

Complexities handled:

  • Key lifecycle management

  • Encryption schema migration

  • Compliance (GDPR, certifications)

  • Performance on large volumes

Processing & Artificial Intelligence

SDKs for vision, recognition and ML models.

Technologies:

    • Vision β€” OCR, object detection, classification
    • Core ML β€” on-device models, inference
    • Apple Intelligence β€” App Intents, Siri, system actions
    • Create ML β€” custom training
    • Natural Language β€” text analysis

Example mission: Specialized OCR SDK for license plate recognition with country-specific validation.

Complexities handled:

  • Real-time optimization (live camera)

  • Accuracy vs performance

  • Edge case handling

  • Fallbacks and corrections

Media & Generation

SDKs for content processing and generation.

Technologies:

    • AVFoundation β€” capture, editing, export
    • VideoToolbox β€” hardware encoding/decoding
    • Core Image β€” filters, processing
    • Core Audio β€” audio processing, effects
    • PhotoKit β€” library access

Example mission: Video generation SDK with templates, overlays and multi-format export.

Complexities handled:

  • Performant rendering pipeline

  • Memory management (large files)

  • Multiple formats and codecs

  • Progress and cancellation

Network APIs

SDKs for web services and real-time.

Technologies:

    • URLSession β€” native HTTP/HTTPS
    • WebSocket β€” bidirectional real-time
    • GraphQL β€” typed queries
    • gRPC β€” performance, streaming
    • Server-Sent Events β€” server push

Example mission: Complete client SDK for SaaS API with auth, pagination, caching.

Complexities handled:

  • Authentication (OAuth, JWT, API keys)

  • Retry, exponential backoff

  • Offline support, sync

  • Rate limiting

Cross-platform Bridges

SDKs with interoperability to other languages/platforms.

Technologies:

    • Swift/C interop β€” bridging headers, unsafe pointers
    • Swift/Objective-C β€” mixed codebases
    • Unity (C#) β€” iOS native plugins
    • Flutter β€” platform channels
    • React Native β€” native modules

Example mission: C bridge exposing a Swift BLE SDK for Unity/C# consumption.

Complexities handled:

  • Cross-boundary memory management

  • Threading and dispatch

  • Type mapping

  • Error propagation

SDK expertise domains
SDKs for all domains β€” hardware, security, AI, media, network

Design Principles

Idiomatic Swift API

A good Swift SDK follows language conventions:

Expressive Error Handling

Errors should guide the developer:

Native Testability

The SDK should be mockable without gymnastics:

Typical SDK Structure

Typical Deliverables

Complete SDK

  • Swift Package β€” source code, SPM ready

  • DocC Documentation β€” API reference, articles, tutorials

  • Example app β€” feature demonstration

  • Tests β€” unit, integration, possibly UI

  • CI/CD β€” GitHub Actions or equivalent

For Cross-platform Bridges

  • C Headers β€” exported interface

  • Native plugin β€” Unity/Flutter/RN ready

  • Integration documentation β€” step-by-step guide

  • Example project β€” Unity/Flutter/RN side

Engagement Formats

SDK Design & Implementation

Complete SDK creation.

Deliverables:

  • Complete Swift Package SDK

  • DocC documentation

  • Example app

  • Tests

  • Integration guide

Duration: 2-8 weeks (depending on complexity)

Existing SDK Audit

Analysis and recommendations.

Deliverables:

  • Audit report (API design, performance, testability)

  • Prioritized recommendations

  • Refactoring estimation

Duration: 3-5 days

Specialized Integration

Encapsulating a technology for internal use.

Deliverables:

  • Isolated integration module

  • Mocks for testing

  • Usage documentation

Duration: 1-4 weeks

Best Practices

Distribution

MethodUsage

Swift Package Manager

Recommended standard

XCFramework

Closed binaries, proprietary code

CocoaPods

Legacy, if necessary

Semantic Versioning

  • MAJOR β€” breaking changes

  • MINOR β€” backward-compatible new features

  • PATCH β€” bug fixes

Documentation

  • DocC β€” Xcode integrated, symbols + articles

  • README β€” quick start, installation

  • CHANGELOG β€” version history

  • MIGRATION β€” guides between major versions

β€œA good SDK hides complexity and exposes simplicity β€” whether it's Bluetooth, crypto, or a REST API.”
β€” Wlad, Tech Lead @ Atelier Socle

Good to know

Here, we focus on encapsulating and exposing specialized functionality.

Frequently Asked Questions

"Can you make an SDK for [technology X]?"

If it runs on Apple (iOS, macOS, watchOS, tvOS, visionOS), I can probably encapsulate it. Bluetooth, NFC, crypto, ML, video, networking β€” each domain has its specifics, but good SDK design principles remain the same.

"How to handle MFi certification for Bluetooth Classic?"

The SDK can be developed in parallel with the MFi process. I know the technical constraints (External Accessory framework, proprietary protocols) and can support you on the technical aspects of certification.

"Should an SDK support iOS 15 or can we target iOS 17+?"

It depends on your audience. For a public SDK, iOS 15+ covers ~95% of devices. For internal or B2B use, you can often target newer and benefit from the latest APIs.

"How to test a hardware SDK without the physical device?"

Mockable architecture from design, simulators when available (BLE simulator), and integration tests on real devices in CI (via Mac + connected device or cloud service).

SDK Architecture
A well-structured SDK isolates complexity and exposes a clear API