Das Quadrat is Foursquare API wrapper written in Swift.
###Features
- Supports iOS and OSX.
- Covers all API endpoints.
- Authorization process implemented for both platforms.
- Native authorization on iOS.
- Image downloader/uploader.
- Image cache.
- Supports multiple accounts.
###Installation
#####As Embedded framework (iOS 8.0+)
- Add Das Quadrat as a submodule.
git submodule add [email protected]:Constantine-Fry/das-quadrat.git
- Drag-and-drop
Quadrat.xcodeproj
into your project. The project has two targets: Quadrat.framework for OSX project, QuadratTouch.framework for iOS projects. - Add new target in "Build Phases" -> "Target Dependencies".
- Click the
+
button at the top left of the panel and choose "New copy files phase".
- Rename the new phase to "Copy Frameworks".
- Set the "Destination" to "Frameworks".
- Add Quadrat framework to this phase.
- Here is the image to visualise the result.
- Read wiki for details.
You can add source code files directly into your project to support iOS 7.0.
###Usage
#####Setup session
let client = Client(clientID: "FOO.................FOO",
clientSecret: "BAR.................BAR",
redirectURL: "testapp123://foursquare")
var configuration = Configuration(client:client)
Session.setupSharedSessionWithConfiguration(configuration)
let session = Session.sharedSession()
#####Search request
var parameters = [Parameter.query:"Burgers"]
parameters += self.location.parameters()
let searchTask = session.venues.search(parameters) {
(result) -> Void in
if let response = result.response {
self.venues = response["venues"] as [JSONParameters]?
self.tableView.reloadData()
}
}
searchTask.start()
#####Multi request
let task1 = self.quadratSession.users.get()
let task2 = self.quadratSession.users.friends(userId: "self", parameters: nil)
let multiTask = self.quadratSession.multi.get([task1, task2]){
(responses) -> Void in
println(responses)
}
multiTask.start()
###Requirements
Swift 1.2 / iOS 8.0+ / Mac OS X 10.9+
###License
The BSD 2-Clause License. See License.txt for details.
=========== Bonn, December 2014.