Skip to content

An iOS and macOS integration for Transloadit's file uploading and encoding service

Notifications You must be signed in to change notification settings

transloadit/TransloaditKit

Repository files navigation

TransloaditKit

An iOS and macOS integration for Transloadit's file uploading and encoding service

Install

CocoaPods

pod 'Transloadit', '~> 3.0'

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/transloadit/TransloaditKit", .upToNextMajor(from: "3.0.0"))
]

Usage

Start by initializing Transloadit.

let credentials = Transloadit.Credentials(key: "SomeKey", secret: "SomeSecret")
let transloadit = Transloadit(credentials: credentials, session: URLSession.shared)

Create an Assembly

To create an Assembly you invoke createAssembly(steps:andUpload:completion) on Transloadit. It returns a TransloaditPoller that you can use to poll for the AssemblyStatus of your Assembly.

let resizeStep = Step(
    name: "resize",
    robot: "/image/resize",
    options: [
        "width": 200,
        "height": 100,
        "resize_strategy": "fit",
        "result": true])
        
let filesToUpload: [URL] = ...
transloadit.createAssembly(steps: [resizeStep], andUpload: filesToUpload) { result in
    switch result {
    case .success(let assembly):
        print("Retrieved \(assembly)")
    case .failure(let error):
        print("Assembly error \(error)")
    }
}.pollAssemblyStatus { result in
    switch result {
    case .success(let assemblyStatus):
        print("Received assemblystatus \(assemblyStatus)")
    case .failure(let error):
        print("Caught polling error \(error)")
    }
}