Awesome-Apple
==================

A list of awesome 3rd party libraries and tools for Apple platform development, iOS and Mac. This is not an exhaustive list, just an opinionated set of resources. I highly recommend you check Github's [Objective-C](https://github.com/trending?l=objective-c) and [Swift](https://github.com/trending?l=swift) Trending Page often.

#### Libraries & Frameworks

##### iOS UI
* [DZNEmptyDataSet](https://github.com/dzenbot/DZNEmptyDataSet) Show an special image when no data is available
* [JVFloatLabeledTextField](https://github.com/jverdi/JVFloatLabeledTextField) Give context to iOS users' text fields
* [ClusterPrePermissions](https://github.com/clusterinc/ClusterPrePermissions) Ask for iOS permissions twice
* [Tweaks](https://github.com/facebook/Tweaks) Tweak parameters at runtime in app on iOS
* [M13ProgressSuite](https://github.com/Marxon13/M13ProgressSuite) A wide range of progress indicators for iOS
* [SpinKit](https://github.com/raymondjavaxx/SpinKit-ObjC) Several indeterminate loading spinners
* [MBProgressHUD](https://github.com/jdg/MBProgressHUD) For overlaying progress on top of a view controller
* [TTTAttributedLabel](https://github.com/TTTAttributedLabel/TTTAttributedLabel) Better attributed strings in UILabels
* [AsyncDisplayKit](https://github.com/facebook/AsyncDisplayKit) Asynchronous user interfaces built over UIKit

##### Mac UI
* [MASPreferences](https://github.com/shpakovski/MASPreferences) Preferences window for Mac Apps

##### Images
* [FLAnimatedImage](https://github.com/Flipboard/FLAnimatedImage) Performant GIFs for iOS
* [GPUImage](https://github.com/BradLarson/GPUImage) GPU based image and video processing for iOS
* [FastImageCache](https://github.com/path/FastImageCache) iOS library for quickly displaying images while scrolling
* [SDWebImage](https://github.com/rs/SDWebImage) Asynchronous image downloader with cache support for iOS 

##### Animation
* [Pop](https://github.com/facebook/pop) Extensible animation library for iOS and Mac
* [JazzHands](https://github.com/IFTTT/JazzHands) Key-frame based animation for iOS

##### Logging
* [CocoaLumberjack](https://github.com/CocoaLumberjack/CocoaLumberjack) Better logging for iOS and Mac

##### Model Programming
* [Mantle](https://github.com/Mantle/Mantle) Simple model layer library for Mac and iOS
* [Realm](https://github.com/realm/realm-cocoa) A new mobile-first database

##### Network Programming
* [GCDWebServer](https://github.com/swisspol/GCDWebServer) HTTP server for iOS and Mac
* [CocoaAsyncSocket](https://github.com/robbiehanson/CocoaAsyncSocket) TCP/IP socket server and consumer for iOS and Mac
* [Restkit](https://github.com/RestKit/RestKit) Transform REST API calls into models (including Core Data) for iOS and OSX
* [AFNetworking](https://github.com/AFNetworking/AFNetworking) "The" networking framework for iOS and OSX
* [AlamoFire](https://github.com/Alamofire/Alamofire) A networking framework for Swift, written by the creator of AFNetworking
* [Reachability](https://github.com/tonymillion/Reachability) Reachability class for iOS and OSX

##### Audio
* [AFSoundManager](https://github.com/AlvaroFranco/AFSoundManager) Easier local and streaming audio playback for iOS

##### Localization
* [TTTLocalizedPluralString](https://github.com/mattt/TTTLocalizedPluralString) Much easier pluralization for NSLocalizedString
* [InflectorKit](https://github.com/mattt/InflectorKit) Built in pluralization rules for a bunch of languages
* [FormatterKit](https://github.com/mattt/FormatterKit) stringWithFormat that localizes different types of data

##### Programming Helpers
* [Dollar.Swift](https://github.com/ankurp/Dollar.swift) Functional programming helpers for Swift
* [ObjectiveSugar](https://github.com/supermarin/ObjectiveSugar) Functional programming helpers for iOS
* [Reactive Cocoa](https://github.com/ReactiveCocoa/ReactiveCocoa) Functional Reactive Programming for iOS and Mac
* [libextobjc](https://github.com/jspahrsummers/libextobjc) Cocoa library to extend Objective-C
* [PromiseKit](https://github.com/mxcl/PromiseKit) Better asynchronousa programming with Promises for iOS (Obj-C and Swift)
* [DateTools](https://github.com/MatthewYork/DateTools) Helping out with date and times
* [KVOController](https://github.com/facebook/KVOController) Block based, easier, safer, KVO
* [PureLayout](https://github.com/smileyborg/PureLayout) Better programmatic Auto-Layout for iOS and Mac
* [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) Handle JSON in Swift with ease

##### Testing
* [Quick](https://github.com/Quick/Quick) Behavior-Driven Development testing framework for Obj-C and Swift
* [Specta](https://github.com/specta/specta) Light weight TDD/BDD framework for Obj-C, built on top of XCTest
* [Expecta](https://github.com/specta/expecta/) A nice matching framework to make your tests more readable
* [OHHTTPStubs](https://github.com/AliSoftware/OHHTTPStubs) Stubs for web request unit testing
* [OCMock](https://github.com/erikdoe/ocmock) Mock objects for Objective-C unit testing

##### Misc
* [Sparkle](https://github.com/sparkle-project/Sparkle) An updating framework for Mac

#### Xcode Plugins
All plugins should be installed with [Alcatraz](https://github.com/supermarin/Alcatraz), the package manager for Xcode.

* [FuzzyAutocomplete](https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin) Fuzzy pattern matching for Xcode's autocomplete
* [Lin-Xcode5](https://github.com/questbeat/Lin-Xcode5) Localization Manager for Xcode
* [LLDB-Quicklook](https://github.com/ryanolsonk/LLDB-QuickLook) Quicklook for a variety of additional types
* [KFCocoaPodsPlugin](https://github.com/ricobeck/KFCocoaPodsPlugin) Xcode Plugin for CocoaPods with pod commands/console output, user notifications & code completion
* [KSImageNamed](https://github.com/ksuther/KSImageNamed-Xcode) Xcode Plugin to autocomplete `imageNamed:` method calls
* [VVDocumentor](https://github.com/onevcat/VVDocumenter-Xcode) Get help writing documentation in Xcode

#### Tools & Developer Apps
* [Synx](https://github.com/venmo/synx) Sync project folders to Xcode groups
* [Dash](https://itunes.apple.com/us/app/dash-docs-snippets/id458034879?mt=12) A wonderful documentation app for the Mac with integration everywhere
* [CoocaPods](http://cocoapods.org/) A fantastic dependancy management system for iOS and Mac
* [Crashlytics](https://fabric.io/kits/ios/crashlytics) Crash reporting for iOS and Mac (and others)
* [Answers](https://answers.io/) Analytics for iOS (and others)

#### Websites and Resources
* [NSHipster](http://nshipster.com/) NSHipster is a journal of the overlooked bits in Objective-C, Swift, and Cocoa Updated weekly.
* [ObjC.io](http://www.objc.io/) A periodical about best practices and advanced techniques in Objective-C
* [Ray Wenderlich](http://www.raywenderlich.com/) Programming Tutorials focused on iOS
* [inessential](http://inessential.com/) Brent Simmons' blog (Programmer for [Q Branch](http://vesperapp.co/))
* [mjtsai](http://mjtsai.com/blog/) Michael Tsai's blog
* [NSBlog](https://www.mikeash.com/pyblog/) Mike Ash's blog
* [Tumblr Developer Blog](http://cocoa.tumblr.com/) Blog brought to you by the iOS developers at Tumblr
* [Cocoa Controls](https://www.cocoacontrols.com/) iOS UI controls
* [Pttrns](http://www.pttrns.com/) iOS design inspiration

For more awesome lists, check out [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness).

If you think anything essential is missing (should be relevant for most or all Apple platform developers) leave me an issue, and I'll take a look.
