XCode 8.0
Swift 3
Carthage
Carthage is a framework manager for our project. Current frameworks:
- Alamofire - Used for API Communication
Install Carthage using Homebrew
brew update
brew install carthage
carthage update --platform ios
carthage update must be run in the same directory as the Cartfile
Server URL: http://cloud-vm-46-57.doc.ic.ac.uk:3000/api/v1/
Communicating with the API is done through the RequestManager framework. The RequestManager is accessed in PlayArray by calling the Request object, e.g. Request.getPlaylist(...).
Our communication is RESTful. Currently implemented API calls are as follows:
| Function | Description | HTTP Method | Path |
|---|---|---|---|
| getPlaylist(from time:) | Obtains a playlist from the server based on passed time of day | GET | /playlist?local_time= |
| getPlaylist(from weather:) | Obtains a playlist from the server based on passed weather | GET | /playlist?weather= |
| getWeather | Returns current weather conditions at passed longitude and latitude | GET | http://api.openweathermap.org/data/2.5/weather? |
Here, getPlaylist only contains separate functions in this sprint. Eventually we should be able to pass a JSON string as a single parameter, which will contain information about different criteria, and will be parsed by the server.
This does not apply to checkpoint 1
Data is sent in JSON format
[
{
"local_time" : String,
"weather" : [String]
}
]