Awesome list of macOS libraries
Awesome macOS libraries
?
?
?
All listed libraries support macOS
Content
- Dependency Manager
- Animation
- Audio
- Database
- Dependency Injection
- Device
- Extensions
- Files
- Image
- In App Purchases and Subscription
- JSON
- Keychain
- Linter
- Logging
- Layout
- Network
- Reactive Programming
- Socket
Dependency Manager
- Swift Package Manager – The Package Manager for the Swift Programming Language. Created and maintained by Apple. Language: Swift.
- CocoaPods – The Cocoa Dependency Manager. CocoaPods manages dependencies for your Xcode projects. (de facto standard/most used Dependency Manager) Language: Ruby.
- Carthage – A simple, decentralized dependency manager for Cocoa. Language: Swift.
Animation
- Advance – Physics-based animations. Language: Swift.
Audio
- AudioKit – Swift audio synthesis, processing, & analysis platform. Language: Swift.
Database
- Realm – Realm is a mobile database: a replacement for Core Data & SQLite. Language: Objective-C.
- YapDatabase – YapDB is a collection/key/value store with a plugin architecture. It’s built atop sqlite, for Swift & objective-c developers. Language: Objective-C.
- FMDB – A Cocoa / Objective-C wrapper around SQLite. Language: Objective-C.
- SugarRecord – CoreData/Realm sweet wrapper written in Swift. Language: Swift.
- SQLite.swift – A type-safe, Swift-language layer over SQLite3. Language: Swift.
- GRDB – A toolkit for SQLite databases, with a focus on application development. Language: Swift.
- Realm Converter – A library that provides the ability to import/export Realm files from a variety of data container formats. Language: Swift.
- WCDB – WCDB is a cross-platform database framework developed by WeChat. Language: C.
- IceCream – Sync Realm Database with CloudKit. Language: Swift.
- MongoKitten – Native MongoDB driver for Swift, written in Swift. Language: Swift.
- Unrealm – Unrealm is an extension on RealmCocoa, which enables Swift native types to be saved in Realm. Language: Swift.
Dependency Injection
- Swinject – Dependency injection framework for Swift. Language: Swift.
Device
- Device – Light weight tool for detecting the current device and screen size written in swift. Language: Swift.
Extensions
- SwifterSwift – A handy collection of more than 500 native Swift extensions to boost your productivity. Language: Swift.
Files
- FileKit – Simple and expressive file management in Swift. Language: Swift.
- ZipZap – zip file I/O library. Language: Objective-C.
- ZIPFoundation – Effortless ZIP Handling in Swift. Language: Swift.
- SSZipArchive – ZipArchive is a simple utility class for zipping and unzipping files. Language: C.
- KZFileWatchers – A micro-framework for observing file changes, both local and remote. Helpful in building developer tools. Language: Swift.
- FilesProvider – FileManager replacement for Local, iCloud and Remote. Language: Swift.
- Zip – Swift framework for zipping and unzipping files. Language: Swift.
Image
- Kingfisher – A lightweight, pure-Swift library for downloading and caching images from the web. Language: Swift.
- Nuke – Image loading system. Language: Swift.
- AlamofireImage – AlamofireImage is an image component library for Alamofire. Language: Swift.
In App Purchases and Subscription
- SwiftyStoreKit – Lightweight In App Purchases Swift framework. Language: Swift.
- purchases-ios – In-app purchases and subscriptions made easy.
JSON
- Codable – Out of box
?
solution from Apple for Encode/Decode JSON. Language: Swift. - SwiftyJSON – The better way to deal with JSON data in Swift. Language: Swift.
- SBJson – This framework implements a strict JSON parser and generator in Objective-C. Language: Objective-C.
- Mantle – Model framework for Cocoa and Cocoa Touch. Language: Objective-C.
- JSONModel – Magical Data Modeling Framework for JSON – allows rapid creation of smart data models. Language: Objective-C.
- Himotoki – A type-safe JSON decoding library purely written in Swift. Language: Swift.
- AlamofireObjectMapper – An Alamofire extension which converts JSON response data into swift objects using ObjectMapper. Language: Swift.
- MJExtension – A fast, convenient and nonintrusive conversion framework between JSON and model. Your model class doesn’t need to extend any base class. You don’t need to modify any model file. Language: Objective-C.
- ObjectMapper – Simple JSON Object mapping written in Swift. Language: Swift.
Keychain
- KeychainAccess – Simple Swift wrapper for Keychain. Language: Swift.
- Locksmith – A powerful, protocol-oriented library for working with the keychain in Swift. Language: Swift.
- Valet – Valet lets you securely store data in the macOS Keychain without knowing a thing about how the Keychain works. It’s easy. We promise. Language: Swift.
- UICKeyChainStore – UICKeyChainStore is a simple wrapper for Keychain on macOS. Makes using Keychain APIs as easy as NSUserDefaults. Language: Objective-C.
Linter
- SwiftLint – A tool to enforce Swift style and conventions. Language: Swift.
Logging
- CocoaLumberjack – A fast & simple, yet powerful & flexible logging framework. Language: Objective-C.
- NSLogger – A modern, flexible logging tool. Language: Objective-C.
- EXPLogger – A lightweight and simple logger for Swift projects. Language: Swift.
- XCGLogger – A debug log framework for use in Swift projects. Allows you to log details to the console (and optionally a file), just like you would have with NSLog() or print(), but with additional information, such as the date, function name, filename and line number. Language: Swift.
- SwiftyBeaver – Convenient & secure logging during development & release. Language: Swift.
Layout
- PureLayout – The ultimate API for iOS & OS X Auto Layout — impressively simple, immensely powerful. Language: Objective-C.
- SnapKit – A Swift Autolayout DSL. Language: Swift.
- Grid – The most powerful Grid container missed in SwiftUI. Language: Swift.
- Align – Intuitive and powerful Auto Layout library. Language: Swift.
- PinLayout – Fast Swift Views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. Language: Swift.
- EasyAnchor – Declarative, extensible, powerful Auto Layout. Language: Swift.
- TinyConstraints – Nothing but sugar. Language: Swift.
- Anchorage – A collection of operators and utilities that simplify layout code. Language: Swift.
- EasyPeasy – Auto Layout made easy. Language: Swift.
- Neon – A powerful Swift programmatic UI layout framework. Language: Swift.
- Cartography – A declarative Auto Layout DSL for Swift. Language: Swift.
Network
- Alamofire – Alamofire is an HTTP networking library written in Swift. (de facto standard library for network) Language: Swift.
- apollo-ios – A strongly-typed, caching GraphQL client. Language: Swift.
- AFNetworking – A delightful networking framework. Language: Objective-C.
- Reachability – Replacement for Apple’s Reachability re-written in Swift with closures. Language: Swift.
- Moya – Network abstraction layer written in Swift. Language: Swift.
- APIKit – Type-safe networking abstraction layer that associates request type with response type. Language: Swift.
- SwiftHTTP – Thin wrapper around NSURLSession in swift. Simplifies HTTP requests. Language: Swift.
- Just – Swift HTTP for Humans. Language: Swift.
- siesta – The civilized way to write REST API clients. Language: Swift.
- RestKit – RestKit is a framework for consuming and modeling RESTful web resources. Language: Objective-C.
- Swift Protobuf – Plugin and runtime library for using protobuf with Swift. Language: Swift.
- protobuf-swift – Google ProtocolBuffers for Apple Swift. Language: Swift.
Reactive Programming
- RxSwift – Reactive Programming in Swift. Language: Swift.
- ReactiveCocoa – Cocoa framework and Obj-C dynamism bindings for ReactiveSwift. Language: Swift.
- ReactiveSwift – Streams of values over time by ReactiveCocoa group. Language: Swift.
Socket
- Socket.IO – Socket.IO client written on Swift. Language: Swift.
- SocketRocket – A conforming Objective-C WebSocket client library. Language: Objective-C.
- CocoaAsyncSocket – Asynchronous socket networking library. Language: Objective-C.