Swift sample app demonstrating View Interactor Presenter architecture for iOS. See Clean Swift for more info.
The app downloads Artists and Albums using Last.fm's API and presents them in a UITableView using a master detail user interface.
We started by using the excellent VIP templates from Raymond Law via Clean Swift but found ourselves modifying parts to speed up development, encapsulate the workers and routers better and to follow our code style guidelines.
You can find our modified VIP Xcode templates here.
- Xcode 8
- CocoaPods v1.1.0rc2
- Last.fm API Key (see below)
You will need an API key from Last.fm in order for the app to work.
Register here for an API Key and update the apiKey
field in the LastFMAPI.swift
as follows
static let apiKey = "INSERT_YOUR_API_KEY_HERE"
iOS 9.0+
(See Podfile for more info)
You won't need CocoaPods to run the project but if you do run into issues you can install dependencies as follows:
pod install
Note. If you get don't have CocoaPods installed you can install it using Ruby Gems as follows:
gem install cocoapods --version 1.1.0rc2
The VIPDemo
target should be used for running the project.
The source code files are documented using Xcode 8's built in code documentation support for Swift.
Also see here for a summary of how we went about learning VIP architecture and building this sample app.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. See the Code of Conduct file.
VIP-Demo
is released under the MIT License.