<span aria-hidden="true" id="transloaditkit-"></span>

# TransloaditKit

[transloadit/transloaditkit⁠](https://github.com/transloadit/transloaditkit)

<span aria-hidden="true" id="transloaditkit-sdk"></span>

Es fácil empezar a usar Transloadit en Objective-C y Swift mediante CocoaPods o Carthage y aprovechar la subida y el encoding de archivos en aplicaciones para macOS y iOS.

<span aria-hidden="true" id="user-content-transloaditkit-install"></span>

<span aria-hidden="true" id="install"></span>

## Instalación

<span aria-hidden="true" id="user-content-transloaditkit-cocoapods"></span>

<span aria-hidden="true" id="cocoapods"></span>

### CocoaPods

```ruby
pod 'Transloadit', '~> 3.0'

```

<span aria-hidden="true" id="user-content-transloaditkit-swift-package-manager"></span>

<span aria-hidden="true" id="swift-package-manager"></span>

### Swift Package Manager

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

```

<span aria-hidden="true" id="user-content-transloaditkit-usage"></span>

<span aria-hidden="true" id="usage"></span> <span aria-hidden="true" id="uso"></span>

## Uso

Empieza por inicializar `Transloadit`.

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

```

<span aria-hidden="true" id="user-content-transloaditkit-create-an-assembly"></span>

<span aria-hidden="true" id="create-an-assembly"></span> <span aria-hidden="true" id="crea-una-assembly"></span>

### Crea una Assembly

Para crear una `Assembly`, invoca `createAssembly(steps:andUpload:completion)` en `Transloadit`. Este método devuelve un `TransloaditPoller` que puedes usar para consultar periódicamente el `AssemblyStatus` de tu `Assembly`.

```swift
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)")
    }
}

```

<span aria-hidden="true" id="user-content-transloaditkit-documentation"></span>

<span aria-hidden="true" id="documentation"></span>

## Documentación

Consulta la documentación completa en [GitHub⁠](https://github.com/transloadit/TransloaditKit#readme).
