Welcome to CaptureSDK for iOS Documentation¶
The CaptureSDK eases the communication between your application and a Socket Mobile scanner.
The Capture API provides a basic set of methods and delegate to manage one or more scanners.
A Capture Helper adds a thin layer on top of this basic API, to simplify the use of the most common operations.
Capture Helper is available in Swift and Objective-C Capture Helper.
If you want an overall presentation you can jump to Getting Started with CaptureSDK for iOS which describe the connection process, and the way Capture interacts with your application.
Noticeable change from version 2.0 (from 8th of October 2025)¶
There are 2 choices to connect and use our Bluetooth LE readers:
Install our Socket Mobile Companion app which takes care of the discovery and the selection of the reader to connect to.
Write some code to fit the Bluetooth discovery flow to your application’s design by creating an UI that starts and shows discovered devices and select them to be paired to your application.
We also have deprecated some CaptureHelper methods to avoid confusion and got rid of the Device Manager.
Here’s the changes in a nutshell:
Note
The protocol
CaptureHelperDeviceManagerDelegatewill be removed and its methodsdidNotifyArrivalForDeviceManageranddidNotifyRemovalForDeviceManagerwill be removed as well.The protocol
CaptureHelperDeviceManagerDiscoveryDelegatewill be renamed toCaptureHelperDiscoveryDelegate. Its methodsdidDiscoverDevice(device:deviceManager:)anddidEndDiscoveryWithResult(result:deviceManager:)will be renamed todidDiscoverDevice(device:)anddidEndDiscoveryWithResult(result:)respectively.The class
CaptureHelperDeviceManagerwill be removed. You can use its methods directly fromCaptureHelper. For instance:
bleDeviceManager.connectToDiscoveredDevice(device) { result in
print("connectToDiscoveredDevice returns: \(result.rawValue)")
}
/// Becomes:
CaptureHelper.sharedInstance.connectToDiscoveredDevice(device) { result in
print("connectToDiscoveredDevice returns: \(result.rawValue)")
}
/// You can use a CaptureHelper variable instead of the singleton instance as well.
The
CaptureHelperDeviceManagermethodssetFavoriteDevices(favorites:),getFavoriteDevicesWithCompletionHandlerwill be removed. No favorites management is needed anymore in CaptureSDK 2.0.The
CaptureHelperDeviceManagermethodstartDiscoveryWithTimeout(timeout:)is replaced byaddBluetoothDevice(bluetoothDiscoveryMode:)in the mainCaptureHelperclass.The
CaptureHelperDeviceManagermethodsgetDeviceUniqueIdentifierFromDeviceGuid(deviceGuid:),connectToDiscoveredDevice(device:),disconnectFromDiscoveredDevice(device:)are moved to the mainCaptureHelperclass.
Devices compatibility and CaptureSDK versions¶
Devices |
<= 2.0 |
2.0 |
SocketCam C820, C860 |
✅ |
✅ |
S720/D720/S820 |
✅ |
✅ |
D600, S550, and all other barcode scanners |
✅ |
✅ |
S370 |
✅ |
✅ |
M930 |
✅ |
✅ |
S320 |
✅ |
✅ |
S721 (new Bluetooth LE barcode scanner) |
❌ |
✅ |
Contents¶
- Getting Started with CaptureSDK for iOS
- Camera scanning with SocketCam
- Using CaptureSDK
- Connect to our products with Companion app
- Connect to our products with CaptureSDK
- Using Contactless Readers/Writers and barcode scanners with Capture Helper
- Configure and Pair Socket Mobile Devices in Application Mode for iOS
- Swift Package Manager
- CocoaPods