PicSplash is my custom clone of the old version of the Unsplash app. The app displays high quality images, rendered at their original aspect ratios, and allows the user to search through these images, all using the Unsplash API.
PicSplash contains many of the notable features of its predecessor including a parallax image that adjusts its size as a user scrolls, as well as a group-centered horizontal list of Collections.
The app makes heavy use of background fetches and asynchronous Operations to provide a smooth user experience while consuming minimal battery life and system resources while downloading large images.
PicSplash uses a custom app icon and custom assets - all created in the Sketch project that is within in this repo!
- Lazily loads images using custom Operations/OperationQueues
- Prefetches data and downsampling images via Apple guidelines for system/device efficacy
- Custom view controller transitions and animations to enhance user experience
- Provides blurred image produced from unique hash while image loads in background
- Light/Dark mode compatible
- Install git lfs
- Create an Unsplash developer account to receive a free API key
- Clone the repo and open the project
- Assign a development team under "Signing & Capabilities" section under project target
- Create a new Swift file called
Secrets
and store it under theHelpers
directory within the XCode project repo - Copy and paste this code into the new
Secrets
file and insert your API key
final class Secrets {
static let API_KEY: String = " --INSERT YOUR API KEY HERE-- "
}
- Build and run the app! There's no third-party packages or pods!
- The app is currently limited to 50 network requests per hour per API key
- The app uses 3 network requests upon each run and 1 network request per each user search
- Image downloads do not count against the 50 network request per hour limit
Any and all feedback is welcome - including pull requests.