All Projects → marcelvoss → MVDribbbleKit

marcelvoss / MVDribbbleKit

Licence: MIT license
A modern Objective-C wrapper for the Dribbble API.

Programming Languages

objective c
16641 projects - #2 most used programming language
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to MVDribbbleKit

Nodehun
The Hunspell binding for NodeJS that exposes as much of Hunspell as possible and also adds new features. Hunspell is a first class spellcheck library used by Google, Apple, and Mozilla.
Stars: ✭ 229 (+638.71%)
Mutual labels:  wrapper
libpassqlite
libPasSQLite is delphi and object pascal bindings and wrapper around SQLite library. SQLite is library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine.
Stars: ✭ 18 (-41.94%)
Mutual labels:  wrapper
gw
A Wrapper of a command to watch any changes in filesystem
Stars: ✭ 16 (-48.39%)
Mutual labels:  wrapper
Await Of
await wrapper for easier errors handling without try-catch
Stars: ✭ 240 (+674.19%)
Mutual labels:  wrapper
Bus
Bus 是一个基础框架、服务套件,它基于Java8编写,参考、借鉴了大量已有框架、组件的设计,可以作为后端服务的开发基础中间件。代码简洁,架构清晰,非常适合学习使用。
Stars: ✭ 253 (+716.13%)
Mutual labels:  wrapper
node-destiny-2
🌑 A zero dependency Destiny 2 API wrapper written in Node.js
Stars: ✭ 23 (-25.81%)
Mutual labels:  wrapper
Api struct
API wrapper builder with response serialization
Stars: ✭ 224 (+622.58%)
Mutual labels:  wrapper
auto-async-wrap
automatic async middleware wrapper for expressjs errorhandler.
Stars: ✭ 21 (-32.26%)
Mutual labels:  wrapper
Mipp
MIPP is a portable wrapper for SIMD instructions written in C++11. It supports NEON, SSE, AVX and AVX-512.
Stars: ✭ 253 (+716.13%)
Mutual labels:  wrapper
CapMonsterCloud
a C# wrapper for CapMonster Cloud API
Stars: ✭ 17 (-45.16%)
Mutual labels:  wrapper
Alertift
Swifty, modern UIAlertController wrapper.
Stars: ✭ 242 (+680.65%)
Mutual labels:  wrapper
Echarts Php
Echarts-PHP a PHP library that works as a wrapper for the Echarts js library
Stars: ✭ 253 (+716.13%)
Mutual labels:  wrapper
cargo-limit
Cargo with less noise: warnings are skipped until errors are fixed, Neovim integration, etc.
Stars: ✭ 105 (+238.71%)
Mutual labels:  wrapper
Hololensartoolkit
Marker tracking using the front-facing camera of HoloLens (both 1 and 2) and Unity, with a wrapper of ARToolKit built for UWP (Windows Universal Platform)
Stars: ✭ 238 (+667.74%)
Mutual labels:  wrapper
SKSearchController
A Wrap for UISearchController makes all customization super easy.
Stars: ✭ 25 (-19.35%)
Mutual labels:  wrapper
Zenpy
Python wrapper for the Zendesk API
Stars: ✭ 222 (+616.13%)
Mutual labels:  wrapper
PowerSchool-API
A Node.js library for interacting with the PowerSchool SIS API.
Stars: ✭ 21 (-32.26%)
Mutual labels:  wrapper
SpotifyWebApi
A .net core wrapper for the Spotify Web API
Stars: ✭ 19 (-38.71%)
Mutual labels:  wrapper
v-owl-carousel
🦉 VueJS wrapper for Owl Carousel
Stars: ✭ 46 (+48.39%)
Mutual labels:  wrapper
vue-cryptojs
A small wrapper for integrating crypto-js into VueJS
Stars: ✭ 17 (-45.16%)
Mutual labels:  wrapper

Logo

MVDribbbleKit is a modern, full-featured and well-documented Objective-C wrapper for the official Dribbble API v1.

One of the main goals was to create a wrapper, that requires as few dependencies as possible. Apart from that, I also wanted to write clean code, provide a good documentation and guarantee stability.

Make sure to read the Terms & Guidelines before using Dribbble's API.

Important: this library requires iOS 10 or later.

Installation

CocoaPods

MVDribbbleKit is available via CocoaPods. Add the following to your Podfile, install it and you are ready to go:

pod 'MVDribbbleKit', '~> 0.2'

Without CocoaPods

Download the latest version, drop the MVDribbbleKit folder to your project and #import it. Then you have to do the same for the only thirdy party dependency: SSKeychain.

Usage

Authenticating

In order to interact with the API, you have to register your application. After the registration you'll get a client key and a client secret. Store them somewhere inside your source code. Then set the three parameters and call the authorization method:

[manager setClientID:@"Client ID" clientSecret:@"Client Secret" callbackURL:@"Callback URL"];
[manager authorizeWithCompletion:^(NSError *error, BOOL stored) {
	// Returns a boolean value with the result of saving the access token to the keychain
}];

The callbackURL has to be equal to the one you've set while registering your application on Dribbble. Otherwise the authorization process is going to fail.

By default all four scopes (write, public, comment, upload) are selected. If you want to specify them you can do that by assigning their names as an array of strings to the scopes property:

manager.scopes = @[@"write", @"public", @"comment", @"upload"];

Reminder: MVDribbbleKit stores the access token automatically to the keychain, so you don’t have to take care of that.

Requests

It is easy to make requests and if you have ever used AFNetworking you will feel right at home because the methods are very similar to AFNetworking's (but this library doesn't use AFNetworking at all). For example, you can follow a user with the following code:

[manager followUserWithID:@"simplebits" success:^(NSHTTPURLResponse *response) {
	NSLog(@"Response: %@", response);
} failure:^(NSError *error, NSHTTPURLResponse *response) {
	NSLog(@"Error: %@ \nResponse: %@", error, response);
}];

Yup, that's it. Everything else is similar to this. Let's take another example. Here's how to get the details for a user:

[manager getDetailsForUser:@"simplebits" success:^(MVUser *user, NSHTTPURLResponse *response) {
	NSLog(@"Username: %@ \nName: %@", user.username, user.name);
} failure:^(NSError *error, NSHTTPURLResponse *response) {
	NSLog(@"Error: %@ \nResponse: %@", error, response);
}];

Easy, huh?

Models

There are also seven model classes available to make your life a bit easier. These will be used to wrap everything into native foundation objects.

  • MVLike
  • MVAttachment
  • MVComment
  • MVShot
  • MVUser
  • MVBucket
  • MVProject

License

MVDribbbleKit is released under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].