Skip to content

Pexels API client library for the Swift programming language.

License

Notifications You must be signed in to change notification settings

lukepistrol/Pexels-Swift

Repository files navigation

GitHub Workflow Status GitHub Twitter: @lukeeep_

Pexels-Swift

Pexels.com API client library for the Swift programming language.

Banner

Overview

This Swift Package is a wrapper for Pexels API to get access to the entire photo library of Pexels within your Swift app.

It is mandatory to get an API Key.

Installation (SPM)

dependencies: [
  .package(url: "https://github.com/lukepistrol/Pexels-Swift.git", from: "0.1.0")
],

Documentation

See the full documentation here or build it locally using ⇧⌃⌘D in Xcode once you added Pexels-Swift to your project.

Usage

import PexelsSwift

// access the singleton instance
let pexels = PexelsSwift.shared

// set your API key
pexels.setup(apiKey: "YOUR_API_KEY", logLevel: .debug)

// fetch images metadata using async/await
let result = await pexels.getCuratedPhotos()

switch result {
case .failure(let error):
    print(error.description)
case .success(let (data, paging, response)):
    // access photos
    // data -> [PSPhoto]
    // paging -> PSPagingInfo
    // response -> HTTPURLResponse
}

// fetch images metadata using completion handlers
pexels.getCuratedPhotos() { result in
    switch result {
    case .failure(let error):
        print(error.description)
    case .success(let (data, paging, response)):
        // access photos
        // data -> [PSPhoto]
        // paging -> PSPagingInfo
        // response -> HTTPURLResponse
    }
}

Demo Project

I've built a simple iOS app - PexelsBrowser - using this library and SwiftUI.

Buy Me A Coffee