Swiftpack.co - snabble/snabble-ios-sdk as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by snabble.
snabble/snabble-ios-sdk 0.24.0
The snabble iOS SDK
⭐️ 6
🕓 3 days ago
iOS
.package(url: "https://github.com/snabble/snabble-ios-sdk.git", from: "0.24.0")

Snabble

License Swift 5.0 Actions Status Contact

snabble - the self-scanning and checkout platform.

Introduction

Starting with the 0.22.2 release, Snabble officially supports installation via Swift Package Manager.

Prior to version 0.22.2 only Cocoapods is supported

Requirements

  • Requires Xcode 12.5 or above
  • See Package.swift for supported platform versions.

Installing from Xcode

Add a package by selecting FileAdd Packages… in Xcode’s menu bar.

Search for the Snabble Apple SDK using the repo's URL:

https://github.com/snabble/snabble-ios-sdk.git

Next, set the Dependency Rule to be Up to Next Major Version and specify 0.22.2 as the lower bound.

Then, select Add Package.

Choose the Snabble products that you want installed in your app.

Alternatively, add Firebase to a Package.swift manifest

To integrate via a Package.swift manifest instead of Xcode, you can add Firebase to the dependencies array of your package:

dependencies:[
  .package(
    name: "Snabble",
    url: "https://github.com/snabble/snabble-ios-sdk.git",
    .upToNextMajor(from: "0.22.2")
  )
]

Then, in any target that depends on a Firebase product, add it to the dependencies array of that target:

.target(
  name: "MyTargetName",
  dependencies: [
    // The product(s) you want (e.g. SnabbleCore).
    .product(name: "SnabbleCore", package: "Snabble"),
  ]
)

Optional components

In order to use the twint and postFinanceCard payment methods, you will also need to include 'SnabbleDatatrans' as package in your app. During the app's initialization phase you will then need to call DatatransFactory.initialize() with your app's registered URL scheme to make these methods available.

Note that support for these payment methods also requires changes to your app's Info.plist as described in Datatrans' SDK documentation, as well as adding a URL scheme that can be used to pass data back to your app, e.g. by adding

<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleTypeRole</key>
    <string>Editor</string>
    <key>CFBundleURLName</key>
    <string>YOUR_URL_NAME_HERE</string>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>YOUR_URL_SCHEME_HERE</string>
    </array>
  </dict>
</array>

Versioning

Snabble follows semantic versioning rules. Note that we are currently in initial development, with major version 0. Anything may change at any time.

Documentation

https://docs.snabble.io/docs/ios/

Example project

The Example folder contains an extremely simple example for an app. To compile:

$ git clone https://github.com/snabble/snabble-ios-sdk
$ cd snabble-ios-sdk/Example
$ open SnabbleSampleApp.xcodeproj

To run this sample app, you will need an application identifier and a corresponding secret. Contact us via e-mail for this information.

Author

snabble GmbH, Bonn https://snabble.io

License

snabble is (c) 2021 snabble GmbH, Bonn. The SDK is made available under the MIT License.

GitHub

link
Stars: 6
Last commit: 17 hours ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

0.24.0
3 days ago

Added

  • DeveloperMode with 5 tabs on profile version field
  • Default developer password is "Snabble" customizable via AssetProviding key "SnabbleDeveloperPassword"
  • CheckIn / CheckOut for selected shops in DeveloperMode
  • Last Purchases and Receipts available for DynamicViews (eg. Dashboard / Profile Tab in SampleApp)
  • New WidgetMultiValue and corresponding SwiftUI view to display/store UserDefault Values

Removed

  • AutoLayout-Helper Dependencies - Moved function in the SDK
  • Public init for ShoppingCart
  • Update device location to search for shops

Changed

  • updated certificates
  • renamed ProductProvider to ProductStore
  • renamed ProductStore functions by removing unnamed (underscore) arguments
  • Information Widget takes full width
  • Change GateKeeper text to nil
  • Inflight Checkoout Status prüfen APPS-546
  • SwiftUI modification error APPS-523
  • Beenden der App während des Bezahlvorgangs APPS-421

Updated

  • datatrans/ios-sdk 2.4.0 (was 2.3.0)
  • groue/GRDB.swift 6.3.1 (was 6.0.0)
  • devicekit/DeviceKit 5.0.0 (was 4.7.0)

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics