pierrotsmnrd / grabKit

Drop-in iOS component to easily import photos from Facebook, FlickR, Instagram, Picasa, and more
Other
396 stars 89 forks source link

GrabKit

GrabKit for iOS offers a ready-to-use component to easily import photos from social networks.

GrabKit allows you to retrieve photos from :

Abstract

In your iPhone/iPad applications, you may want to let your users access their photo albums hosted on various social networks like Facebook or FlickR, or stored in the device. Unfortunately, the websites hosting these images offer different APIs and different libraries to authentify a user, grab its photo albums, etc.

GrabKit is made to wrap these differences into :

GrabKitPicker is Developer-friendly :

GrabKitPicker is also User-friendly :

screenshot of the demo application
Watch this demo on YouTube : http://www.youtube.com/watch?v=6sOgy_3P4Ws

Demo application

The best way to discover how powerful GrabKit is, is to run the Demo application. Only a few steps are needed to run it, just follow the detailled instructions in the wiki

How to use Grabkit in your app

Installation

To install and setup GrabKit in your project, follow the detailled instructions in the wiki

Configuration

In order to grab content from each service, you need to register your app and get an API key from each service.

Please follow the detailled instructions in the wiki

Add the GrabKitPicker in your code

From any UIViewController in your app, all you have to do is similar to this :

// Retrieve the singleton of GrabKitPicker
GRKPickerViewController * grabkitPickerViewController = [GRKPickerViewController sharedInstance];

// Set the picker's delegate. 
// Don't forget to add GRKPickerViewControllerDelegate in the list of protocols implemented by your controller.
grabkitPickerViewController.pickerDelegate = self;

 // We allow the selection 
grabkitPickerViewController.allowsSelection = YES;
grabkitPickerViewController.allowsMultipleSelection = YES;

[self presentViewController:grabkitPickerViewController animated:YES completion:^{
    // GrabKitPicker is now displayed        
}];

On iPad, you can simply call this method on the picker, to present it from a UIPopover :

[grabkitPickerViewController presentInPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

Then, implement in your controller the delegate method you need. The delegate method called when the picker is dismissed, passing the array of the photos the user selected, is :

-(void)picker:(GRKPickerViewController*)picker didDismissWithSelectedPhotos:(NSArray*)selectedPhotos {

    // selectedPhotos is an NSArray of GRKPhoto objects. Check the "Model" section below for more details.

}

Model

Coming soon

Feel free to help and contribute :)

GrabKit v1.3 changes

FAQ

All your questions have answers.

Applications using GrabKit

Several top-rated applications use GrabKit, as :

Donations

GrabKit is *100% free* . However, developing and supporting this project is hard work and costs real money. Please help support the development of GrabKit !

10% of your donations is donated to the Free Software Foundation.

donation

License

This project is under MIT License, please feel free to contribute and use it.

The GrabKitPicker uses :

The Facebook Grabber uses :

The FlickR Grabber uses the ObjectiveFlickR project : https://github.com/lukhnos/objectiveflickr

The Picasa Grabber uses "Google Data APIs Objective-C Client Library" : https://code.google.com/p/gdata-objectivec-client/

Special thanks to the talented Laurence Vagner for the use of her photo album 'Foodporn' in the demo video.

Check her FlickR page for more pictures under Creative Commons licence.

The demo video has been made with CaptureRecord. https://github.com/gabriel/CaptureRecord

Contact

Are you using GrabKit in your project ? Do you have a suggestion ? Any question ?

Pierre-Olivier Simonard

pierre.olivier.simonard@gmail.com

www.twitter.com/pierrotsmnrd

www.linkedin.com/in/pierreoliviersimonard