Open Source: Massive Toolkit With Over 40 iOS Objective-C Libraries

There are so many useful open source libraries available for iOS devices.   I haven’t seen one with such a wide variety of uses as this toolkit.

With this toolkit there are over 40 useful open source (Apache licensed) libraries that you can use in your iOS apps.  All are useful, and the library is designed so that you won’t need to clutter your app by including a massive number of files – in most cases you only need to add a single class to your app in order to add the functionality.   You just need to add what you want to use within your app.

The open source project is known as the Cooliris-Toolkit from Cooliris, and has already been used in several apps by Cooliris including their fantastic Discover Wikipedia In Magazine app.

Here’s a listing of the classes within the toolkit taken from the project homepage:

  • ApplicationDelegate: This classes offers numerous built-in functionalities for a UIApplication delegate in cooperation with the Logging and Task classes. Your application delegate class should subclass this class instead of NSObject to benefit automatically from all these features.
  • AutoresizingView: UIView subclass that automatically resizes a content subview using a “center”, “resize”, “aspect-fit” or “aspect-fill” method.
  • BasicAnimation: Simple CABasicAnimation subclass that allows to specify per-instance delegate and callbacks on animation completion.
  • CameraViewController: UIViewController subclass to replace UIImagePickerController to take photos with customizable user interface, image scaling and EXIF metadata (including GPS location) inclusion.
  • Crypto: Provides C function wrappers for MD5 and SHA2-256 hash computations.
  • Database: Implements a powerful SQLite Objectice-C wrapper with automatic schema creation from class properties.
  • DataWrapper: Simple NSData subclass that allows to wrap a block of memory and provide a custom C callback for release.
  • DiskCache: Manages a cache on disk of NSCoding compatible objects or raw data files which can be purged to a maximum size.
  • DocumentView: Displays and manages layout and user interaction of a set of “page-type” subviews arranged horizontally.
  • ExtendedPageControl: Implements a page control like the one on the home screen of iOS.
  • Extensions_AmazonS3: Category on NSMutableURLRequest to sign HTTP requests for Amazon S3.
  • Extensions_CoreAnimation: Categories on Core Animation classes to implement various convenience features.
  • Extensions_Foundation: Categories on Foundation classes to implement various convenience features.
  • Extensions_UIKit: Categories on UIKit classes to implement various convenience features.
  • FileSystemView: Subclass of GridView that displays the contents of a directory.
  • FormTableController: UITableView subclass that implements a form with text, password or checkbox fields.
  • GridView: Displays and manages layout and user interaction with a grid of subviews.
  • HTTPURLConnection: Subclass of NSURLConnection that implements synchronous HTTP operations and offers features like downloading to disk or resuming downloads.
  • ImageCell: UITableViewCell subclass to display images.
  • ImageUtilities: Low-level C functions to perform graphic operations on CGImages.
  • InfiniteView: Displays and manages layout and user interaction of a set of “page-type” subviews arranged both horizontally and vertically in an infinite presentation.
  • Keychain: Objective-C wrapper to store and retrieve passwords from the Keychain.
  • LibXMLParser: Objective-C wrapper for LibXML.
  • Logging: Powerful logging facility with history recording and playback, and well as remote logging over Telnet.
  • MapAnnotation: Basic MKAnnotation conforming class to use with MapKit.
  • MovieView: Loads and displays a movie from a URL.
  • NavigationControl: Implements a navigation control with customizable markers and thumb.
  • NetReachability: Objective-C wrapper for the System Configuration reachability APIs.
  • OverlayView: Displays a simple pop-over view with an arrow at a given location.
  • PubNub: Clean and simple Objective-C interface for http://www.pubnub.com/.
  • RemoteUpdater: Allows one-way synchronization of “extra content”, typically Zip archives which get decompressed on arrival, from a remote server to the application.
  • RichString: Basic replacement for NSAttributedString that allows archiving of itself and its attachments.
  • ServerConnection: Provides an abstract state-machine for applications that needs to be continuously connected to a server and automatically reconnect / disconnect depending on network conditions.
  • ShakeMotion: Wrapper around UIAccelerometer to detect shake motions.
  • SliderControl: Implements a slider control with customizable graphic assets.
  • SmartDescription: Replacement for NSObject’s -description that automatically prints the values of the object’s properties.
  • SwitchCell: UITableViewCell subclass to display switches.
  • Task: Implements a powerful background tasks management system for your application: task dependencies, task groups, independent completion delegates… Works on iOS 3.2 using threads and GCD on iOS 4.0 and later.
  • TextFieldCell: UITableViewCell subclass to display text fields.
  • TextIndex: Offers a simple text indexer for Western languages.
  • UnitTest: Base class to implement unit tests.
  • WebViewController: UIViewController subclass that displays a UIWebView along with back and forward buttons.
  • WorkerThread: Allows to start and wait for completion of background threads in an atomic way.
  • ZoomView: Displays a content subview (typically a UIImageView) with automatic pan and zoom behavior.

You can find the checkout page here:
http://code.google.com/p/cooliris-toolkit/source/checkout

This is definitely a toolkit that I will be using again and again.

©2011 iPhone, iOS 4, iPad SDK Development Tutorial and Programming Tips. All Rights Reserved.

.

DeliciousTwitterTechnoratiFacebookLinkedInEmail


Leave a Reply

Your email address will not be published. Required fields are marked *