.. |br| raw:: html
Getting Started with Capture SDK for iOS ======================================== Requirements ------------ The Socket Mobile Capture SDK uses Bluetooth Classic through the External Accessory framework for the barcode scanner products and Bluetooth Low Energy (BLE) for the Contactless Reader/Writer products (Socket Mobile D600). For applications that need to work with barcode scanners, make sure the following requirements are met: #. Your application needs to be registered in our whitelist before submitting your application to the Apple Store. It will not pass the Apple Store review if this is not done. #. Your application must have the string ``com.socketmobile.chs`` in the Supported External Protocol setting. |br| |ExternalAccessory| .. |ExternalAccessory| image:: images/ExternalAccessoryInfo.png #. **Your application will need a proper AppKey.** Follow the link to `create an AppKey `_. Note: You don’t need to create your own AppKey to compile and run the sample apps. #. **The scanner needs to be paired with your devices in Application Mode.** This can be done using Socket Mobile Companion app (recommended), which can be downloaded from the `App Store `_ . To pair your scanner in Application Mode without using Companion app, follow the instructions at: :doc:`ConfigureInAppMode`. #. Try a sample app. Depending on your choice of language, you can try either the `Single Entry in Swift `_ or `Single Entry in Objective C `_. SDK Installation ---------------- The Capture SDK is released as a CocoaPods package. - There are 2 Capture flavors: ``SKTCaptureObjC`` for **Objective C** and ``SKTCapture`` for **Swift** - Add the Capture SDK in your application and if your project does not already use a CocoaPods, then add the file ``Podfile`` in your project root folder. The content of the file should look like this for **Swift**: .. code-block:: ruby platform :ios, '9.0' target 'MyApp' pod 'SKTCapture', '~> 1.1' .. note:: The ``use_frameworks!`` is no longer necessary since CocoaPods 1.5.0 and should be removed otherwise a double symbols link warnings will be displayed when you run your application in Debug mode. - If your application already has a Podfile then you just need to add this line: ``pod 'SKTCapture', '~> 1.1'``. - For **Objective C** the same applies, just the name changes: .. code-block:: ruby platform :ios, '9.0' target 'MyApp' pod 'SKTCaptureObjC', '~> 1.1' Using Capture SDK ----------------- The easiest way to use the Capture SDK in your application is to use Capture Helper, which is released in source code form as part of the Capture CocoaPods. Please refer to :doc:`captureHelperObjectiveC` or :doc:`captureHelperSwift`.