Lightweight framework for Unsplash in Swift
UnsplashFramework
The idea behind this project is to make an easy-to-use, well tested and well documented client framework for Unsplash.
Currently in early development stage ?
? Plan
- [x] List photos
- [x] Search photos
- [x] Search collections
- [x] Search user
- [ ] List collections
- [ ] Users
Requirement
- iOS 14.5+
- XCode 13.0+
⬇️ Installation
CocoaPods
Add the following to your Podfile
:
pod 'UnsplashFramework', '~> 0.1'
Carthage
Add the following to your Cartfile
:
github "camiletti/UnsplashFramework" ~> 0.1
? Use
import UnsplashFramework
Credentials
Before doing any request, the Unsplash client credentials should be set. If you haven't registered yet, you can do so here.
let credentials = UNCredentials(appID: "Your_AppID", secret: "Your_Secret"
let client = UNClient(with: credentials)
Listing photos
client.listPhotos(page: 1,
photosPerPage: 10,
sortingBy: .popular)
{ result in
switch result {
case .success(let photos):
photos.forEach({ (photo) in
print("Photo with ID: \(photo.id) from user: \(photo.user.username) main color: \(photo.hexColor)")
})
case .failure(let error):
print("Error: \(error.reason)")
}
}
Searching photos
client.searchPhotos(query: "Forest",
page: 1,
photosPerPage: 10,
collections: nil,
orientation: .landscape)
{ result in
switch result {
case .success(let searchResult):
searchResult.photos.forEach { (photo) in
print("Photo with ID: \(photo.id) from user: \(photo.user.username) main color: \(photo.hexColor)")
}
case .failure(let error):
print("Error: \(error.reason)")
}
}