Latest 2.0.2
License MIT
Platforms ios 10.0, osx 10.11, tvos 11.0
Dependencies Alamofire, PromiseKit, KeychainSwift

Dropmark Swift SDK


DropmarkSDK is a Swift interface for the Dropmark API.


  • [x] Full networking suite for API endpoints, built around Alamofire
  • [x] Model classes for all API objects
  • [x] Serializers to translate response data into model objects
  • [x] Chainable promises, built around PromiseKit
  • [x] Authentication and secure credential storage
  • [x] Pagination utilities, with utilities for infinite scrolling in list views
  • [x] Example for iOS
  • [x] Example for tvOS
  • [x] Example for macOS
  • [ ] Comprehensive Unit and Integration Test Coverage
  • [x] Complete Documentation


  • iOS 10.0+ / macOS 10.10+ / tvOS 11.0+
  • Xcode 10.2+
  • Swift 5.0+


Included are demo projects for iOS, tvOS, and macOS. To run the example projects:

  1. Clone the repo
  2. Run pod install from the /Example directory
  3. In the /Example directory, copy the keys-example.plist file, rename the new file keys.plist, then add your Dropmark token to the file.

Be sure to open the examples using the DropmarkSDK.workspace file.


Install the library in your app through CocoaPods. Add the following line to your Podfile, then run pod install.

pod 'DropmarkSDK', '~> 2.0'

Be sure to import the library when needed.

import DropmarkSDK


Version 2.0.0

Xcode 10.2 and Swift 5 are now required.

Version 1.5.0

DKSession was added to store a user object and token separately, so object updates are compartmentalized.

Version 1.4.0

For DKItem make reactionsTotalCount, tags, reactions, comments, and user variables non-optional. For DKCollection make itemsTotalCount, usersTotalCount, and user variables non-optional.

Version 1.3.0

Further support for Swift 4.2, particularly with KeychainSwift

Version 1.2.0

Update to Xcode 10 and Swift 4.2 compatibility

Version 1.1.0

Extensions in DataRequest+PromiseKit make use of CancellablePromiseKit now. DKPaginationGenerator also reflects cancellability.

Version 1.0.0

All errors are now consolidated as DKError. Search results are serialized by the DKResponseListAny struct.

Version 0.3.0

Large modifications to DKRouter enum, and associated Promise generation.

Version 0.2.0

A new naming scheme was introduced for object classes, prefixing each class name with "DK".

Version 0.1.1

DropmarkSDK supports iOS 10.0, macOS 10.10, tvOS 11.0, Swift 4, and Xcode 9.0.

Security Disclosure

If you believe you have identified a security vulnerability with DropmarkSDK or the Dropmark API, you should report it as soon as possible via email to [email protected] Please do not post it to a public issue tracker.


Created by Oak for Dropmark.

DropmarkSDK relies on the following open source libraries:


The MIT License (MIT)

Copyright (c) 2018 Oak, LLC

Latest podspec

    "name": "DropmarkSDK",
    "version": "2.0.2",
    "summary": "Network and model controllers for Dropmark, written in Swift.",
    "homepage": "",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    "authors": {
        "Alex Givens": "[email protected]"
    "source": {
        "git": "",
        "tag": "2.0.2"
    "social_media_url": "",
    "swift_versions": "5.0",
    "platforms": {
        "ios": "10.0",
        "osx": "10.11",
        "tvos": "11.0"
    "source_files": "Source/**/*.swift",
    "dependencies": {
        "Alamofire": [
            "~> 4.8"
        "PromiseKit": [
            "~> 6.5"
        "KeychainSwift": [
            "~> 13.0"

Pin It on Pinterest

Share This