Skip to content

Set up using Carthage

The SDK supports installation using the Carthage dependency manager. Just run the carthage update command in the SDK root directory and get the WDePOS and related frameworks from Carthage/Build/<platform> directory

carthage update

Set up Manually (Not Recommended)

To manually install the SDK:

  1. Make sure you have cocoapods installed.

  2. Download the SDK from Wirecard ePOS SDK for iOS repository on Github.

  3. Unzip it and run 'pod install' within "unzipped_SDK/Example" folder.
  4. After the pods are installed, copy the Pods.xcodeproj from "unzipped_SDK/Example/Pods" into your own project. Make sure you are copying the xcodeproj and not the Pods folder; otherwise you may enter into duplicated definitions problems.
  5. After the Pods.xcodeproj is added to your project, manually add the following frameworks into your project's General section "Embedded binaries":
    AFNetworking.framework
    BerTlv.framework
    CocoaLumberjack.framework
    INTULocationManager.framework
    libextobjc.framework
    Lockbox.framework
    Mantle.framework
    Overcoat.framework
    ZipArchive.framework
  6. Other Wirecard ePOS SDK frameworks need to be added manually. Add to your project the WDePos.framework and the WDePosResources.bundle files, and other hardware frameworks you plan on using, from "unzipped_SDK/Pod/Classes". Terminal Extension frameworks that add support for terminals, printers, cash registers and scanners are:
    Device Framework Accessory protocol
    [SPm2] Spire_SDK.framework com.thyron
    [StarMicronics , mPOP] Stario_SDK.framework jp.star-m.starpro
    [DPP-250] Datecs_SDK.framework com.datecs.printer.escpos
    [SocketScanner] Socket_SDK.framework com.socketmobile.chs
    Together with the step .5, your "Embedded binaries" section will look like:
  7. You also need to add the WDePosResources.bundle file into your project's Build Phases "Copy Bundle Resources” section:
  8. Now add the following Apple frameworks in your project's General "Linked Frameworks and Libraries" section:
    ExternalAccessory
    CoreFoundation
    CoreLocation
    CoreBluetooth
    UIKit
    CoreGraphics
    Security
    SystemConfiguration
    Foundation
    MobileCoreServices

    Together with the steps above, it will look like:
  9. Make sure your project Build Settings/Build Options has “Always Embed Swift Standard Libraries” set to YES:
  10. And the last step: edit your project's info.plist (the faster way is as a text file) and copy paste the lines below. That way your project will include all needed keys/values and protocols for enabling hardware communication, permissions, etc. Make sure you don't have the following keys already defined with different values, and that you are going to use the UISupportedExternalAccessoryProtocols into your app (do not include the ones for hardware you don't plan on supporting, see point .6).
            &lt;key&gt;NSAppTransportSecurity&lt;/key&gt;
             &lt;dict&gt;  
                            &lt;key&gt;NSAllowsArbitraryLoads&lt;/key&gt;  
                            &lt;true/&gt;  
            &lt;/dict&gt;  
                            &lt;key&gt;UIBackgroundModes&lt;/key&gt;  
            &lt;array&gt;  
                            &lt;string&gt;audio&lt;/string&gt;  
                            &lt;string&gt;fetch&lt;/string&gt;  
                            &lt;string&gt;external-accessory&lt;/string&gt;  
                            &lt;string&gt;bluetooth-peripheral&lt;/string&gt;  
                            &lt;string&gt;bluetooth-central&lt;/string&gt;  
            &lt;/array&gt;  
            &lt;key&gt;NSBluetoothPeripheralUsageDescription&lt;/key&gt;  
            &lt;string&gt;BlueTooth is required for Terminal and Printer communication&lt;/string&gt;  
            &lt;key&gt;NSCameraUsageDescription&lt;/key&gt;  
            &lt;string&gt;Camera will be used for barcode scanning and taking Photos for product catalogue&lt;/string&gt;  
            &lt;key&gt;NSLocationWhenInUseUsageDescription&lt;/key&gt;  
            &lt;string&gt;The terminal location will be used for all payments&lt;/string&gt;  
            &lt;key&gt;NSMicrophoneUsageDescription&lt;/key&gt;
            &lt;string&gt;Audio jack is used for payment terminals such as BBPOS Chippers/Swippers&lt;/string&gt;  
            &lt;key&gt;NSPhotoLibraryUsageDescription&lt;/key&gt;  
            &lt;string&gt;Media Library will be used for adding pictures to catalogue products of your own&lt;/string&gt;  
                            &lt;key&gt;UISupportedExternalAccessoryProtocols&lt;/key&gt;  
            &lt;array&gt;  
                            &lt;string&gt;com.socketmobile.chs&lt;/string&gt;  
                            &lt;string&gt;com.thyron&lt;/string&gt;  
                            &lt;string&gt;com.datecs.printer.escpos&lt;/string&gt;  
                            &lt;string&gt;jp.star-m.starpro&lt;/string&gt;  
            &lt;/array&gt;