Installation (Swift Package Manager) Pixelnetica™ Document Scanning SDK for Apple iOS

DSSDK is distributed exclusively through Swift Package Manager as binary xcframeworks. There is no CocoaPods, Carthage, or manual-framework option. This page covers adding the package, choosing a product, and maintaining the dependency over time.

The package URL is:

https://github.com/Pixelnetica/DocScanningSDK-iOS

Add the package in Xcode

  1. In Xcode, choose File ▸ Add Package Dependencies…
  2. Paste the package URL above into the search field.
  3. For the dependency rule, choose Up to Next Major Version starting from 3.0.0. This picks up bug-fix and feature releases automatically while protecting you from breaking changes.
  4. Choose the product(s) to add to your app target (see Choosing a product) and finish.

Add the package in Package.swift

If your app is itself a Swift package, add the dependency and the product you need:

dependencies: [
    .package(
        url: "https://github.com/Pixelnetica/DocScanningSDK-iOS",
        from: "3.0.0"
    )
],
targets: [
    .target(
        name: "MyApp",
        dependencies: [
            .product(name: "DocScanningSDK-UI", package: "DocScanningSDK-iOS")
        ]
    )
]

Choosing a product

The package vends two products:

ProductContainsUse when
DocScanningSDK-UIThe ready-to-use screens and the core engineYou want the batteries-included scanner / editor screens (most apps).
DocScanningSDKThe core engine only (no UI)You are building a fully custom UI on top of the engine.

DocScanningSDK-UI already includes the core engine, so adding the UI product alone is enough: you can import DocScanningSDK and call the core API without adding the DocScanningSDK product separately.

Adding both products is also valid. Because they share the same core binary, the engine is linked only once — there is no duplication and no increase in app size. The EasyScanner sample app is set up this way on purpose: it imports DocScanningSDK directly in one screen, so it declares an explicit dependency on the core product it uses, rather than relying on the UI product to re-export it. Either setup is correct — adding only DocScanningSDK-UI is simply the smaller one.

Updating and pinning

  • Update to a new release: in Xcode, File ▸ Packages ▸ Update to Latest Package Versions, or run swift package update. With the Up to Next Major rule, this moves you to the newest 3.x.
  • Pin an exact version: the resolved versions are recorded in your Package.resolved file. Commit it so every machine and CI run builds against the same SDK build. To lock to one release, set the dependency rule to Exact Version.
  • Review before adopting: check the Changelog before updating across feature releases.

Troubleshooting

  • Checksum mismatch. SwiftPM caches binary artifacts by checksum. After an SDK update, reset the package caches (File ▸ Packages ▸ Reset Package Caches) and resolve again.
  • Resolution fails / version not found. Confirm the package URL and that your dependency rule allows the version you expect; then resolve again.
  • More in Troubleshooting.

Next steps

Top