Tunely
Description
A basic iOS app written in Swift that displays tracks from the iTunes API. There are two tabs. The first shows a list of tracks. Clicking on a track presents a detail view showing more information about the track. The second shows a grid of album covers. No detail view is provided for albums.
Prerequisites
- Nuke (Image Loading System)
The prerequisite(s) are installed using Swift Package Manager instead of Cocoapods. Upon the first build, SPM should download the dependencies automatically.
Installation
- Clone/Download the app to your Mac
- Check that you have the latest build of XCode installed.
Choosing your own Tracks
Use the iTunes Api to receive tracks (songs) and albums to display in a list and grid layout
Example request: Get a limit of 200 songs by Jack Johnson:
https://itunes.apple.com/search?term=jack_johnson&country=US&media=music&limit=200
Students can replace the term
with their favorite artist:
https://itunes.apple.com/search?term=<insert_artist>&country=US&media=music&limit=200
Save the file with the ".json" extension and place inside Resources/iTunes_API_Responses.
Notes for Technical Writers
Strech goals for students
- Album detail view when tapping a album cell. Currently, there is no action when tapping a cell since there is only a track detail view.
- checkout this commit for first steps to do this.
- create a second navigation controller
- reconfigure network call in SceneDelegate file
- create a second detail view specific for albums
- Implement functionality to play tracks
- Response includes a
trackViewUrl
andpreviewUrl
which point to a iTunes preview and mp4 file respectively
- Response includes a
- Provide link to iTunes page of the track and/or album
Lastest Build
Contributing
- Use the Issue Tracker: https://github.com/derekc00/Tunely/issues
License
- MIT LICENSE
Contact
- Derek Chang (contract dev - July 2022, former iOS Guru): [email protected]