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