Skip to main content

iOS SDK 1.0.0 Integration Overview

SDK Version: 1.0.0
Platform: iOS

This guide covers six independent Swift SDK products for device access, Mesh messaging, low-latency voice, file/image transfer, and firmware upgrades:

ProductResponsibility
XTalkBleSdkBLE scanning, connection, GATT readiness, AT/RF transport, and device information queries
XTalkDeviceAuthSdkTransport-neutral AT encoding probes, challenge authentication, and DID retrieval
XTalkMeshSdkMesh text/voice, friend and map payloads, acknowledgements, and routes
LowLatencyPttDedicated low-latency half-duplex voice with verified RF restoration
XTalkFileTransferSdkFile bytes, image transcoding, fragmentation, acknowledgements, and restoration
XTalkOtaSdkTurMass and BT5632F upgrades, progress, and cancellation

iOS SDK 1.0.0 does not provide a standalone Device Init product. Business configuration after authentication belongs in the customer app or a separately delivered product. Do not place initialization parameters, network calls, or business state inside the authentication transport.

Module boundaries

CapabilityBLEAuthCustomer app
Scan, connect, discover GATT, subscribeOwnsDoes not ownShows state and selects a device
AT encoding and transaction serializationOwnsUses through transportMust not write concurrently
Challenge, signature verification, DID readDoes not ownOwnsPersists successful result
Permission explanation, retry policy, UI lifecyclePublishes statePublishes stateOwns
Post-authentication business configurationProvides AT/RF channelDoes not ownOwns
Obtain the official Swift package separately
→ add it to Xcode and configure Bluetooth permissions
→ create XTalkBleClient
→ scan and connect
→ wait for atReady
→ adapt the BLE client to DeviceAuthTransport
→ authenticate and store the DID only after success
→ start customer business operations
→ disconnect / teardown

Success gates

  • connectionState == .connected only means that the BLE link is connected.
  • atReady == true is required before AT, RF, or authentication operations.
  • deviceControlReady == true is required for reliable battery and version queries.
  • Authentication is complete only when authenticate() returns successfully. Protected business flow must stop on failure.
  • Use disconnect() for a reusable temporary disconnection and teardown() to permanently finish the current client.

Documentation

  1. Requirements and SDK Setup
  2. BLE Connection SDK
  3. Device Authentication SDK
  4. API Reference
  5. Errors and FAQ
  6. End-to-end integration
  7. API coverage matrix
  8. Mesh SDK
  9. Low Latency PTT SDK
  10. File and Image Transfer SDK
  11. OTA SDK