awesome-ios
A curated list of awesome iOS ecosystem, including Objective-C and Swift Projects
https://github.com/vsouza/awesome-ios
Last synced: 12 days ago
JSON representation
-
Debugging
-
Getting Started
- MTHawkeye - Profiling / Debugging assist tools for iOS, include tools: UITimeProfiler, Memory Allocations, Living ObjC Objects Sniffer, Network Transaction Waterfall, etc.
- Playbook - A library for isolated developing UI components and automatically snapshots of them.
- DoraemonKit - A full-featured iOS App development assistant,30+ tools included. You deserve it.
- Atlantis - A little and powerful iOS framework for intercepting HTTP/HTTPS Traffic from your iOS app. No more messing around with proxy and certificate config. Inspect Traffic Log with Proxyman app.
- NetShears - Allows developers to intercept and monitor HTTP/HTTPS requests and responses. It also could be configured to show gRPC calls.
- Scyther - A full-featured, in-app debugging menu packed full of useful tools including network logging, layout inspection, location spoofing, console logging and so much more.
- DebugSwift - A comprehensive toolkit designed to simplify and enhance the debugging process for iOS applications.
- Flex - An in-app debugging and exploration tool for iOS.
- DoraemonKit - A full-featured iOS App development assistant,30+ tools included. You deserve it.
- Woodpecker - View sandbox files, UserDefaults, network request from Mac.
-
-
Dependency Injection
-
Getting Started
- Swinject - Dependency injection framework for Swift.
- Reliant - Nonintrusive Objective-C dependency injection.
- Kraken - A Dependency Injection Container for Swift with easy-to-use syntax.
- Cleanse - Lightweight Swift Dependency Injection Framework by Square.
- Typhoon - Powerful dependency injection for Objective-C.
- Pilgrim - Powerful dependency injection Swift (successor to Typhoon).
- Perform - Easy dependency injection for storyboard segues.
- Alchemic - Advanced, yet simple to use DI framework for Objective-C.
- Guise - An elegant, flexible, type-safe dependency resolution framework for Swift.
- Weaver - A declarative, easy-to-use and safe Dependency Injection framework for Swift.
- StoryboardBuilder - Simple dependency injection for generating views from storyboard.
- ViperServices - Dependency injection container for iOS applications written in Swift. Each service can have boot and shutdown code.
- DITranquillity - Dependency injection framework for iOS applications written in clean Swift.
- Needle - time safe Swift dependency injection framework with real code.
- Locatable - A micro-framework that leverages Property Wrappers to implement the Service Locator pattern.
- SafeDI - Compile-time safe dependency injection in Swift 6.
-
-
Dependency / Package Manager
-
Getting Started
- CocoaPods - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly.
- Carthage - A simple, decentralized dependency manager for Cocoa.
- SWM (Swift Modules) - A package/dependency manager for Swift projects similar to npm (node.js package manager) or bower (browser package manager from Twitter). Does not require the use of Xcode.
- CocoaSeeds - Git Submodule Alternative for Cocoa.
- punic - Clean room reimplementation of Carthage tool.
- Rome - A cache tool for Carthage built frameworks.
- Athena - Gradle Plugin to enhance Carthage by uploading the archived frameworks into Maven repository, currently support only Bintray, Artifactory and Mavel local.
- Accio - A SwiftPM based dependency manager for iOS & Co. with improvements over Carthage.
- swift-package-manager - The Package Manager for the Swift Programming Language.
-
Web View
- Xcode Maven - The Xcode Maven Plugin can be used in order to run Xcode builds embedded in a Maven lifecycle.
-
-
Deployment / Distribution
-
Getting Started
- fastlane - Connect all iOS deployment tools into one streamlined workflow.
- deliver - Upload screenshots, metadata and your app to the App Store using a single command.
- snapshot - Automate taking localized screenshots of your iOS app on every device.
- watchbuild - Get a notification once your iTunes Connect build is finished processing.
- TestFlight Beta Testing - The beta testing service hosted on iTunes Connect (requires iOS 8 or later).
- boarding - Instantly create a simple signup page for TestFlight beta testers.
- HockeyKit - A software update kit.
- AppLaunchpad - Free App Store screenshot builder.
- LaunchKit - A set of web-based tools for mobile app developers, now open source!
- Appfigurate - Secure runtime configuration for iOS and watchOS, apps and app extensions.
- Semaphore - CI/CD service which makes it easy to build, test and deploy applications for any Apple device. iOS support is fully integrated in Semaphore 2.0, so you can use the same powerful CI/CD pipeline features for iOS as you do for Linux-based development.
- ios-uploader - Easy to use, cross-platform tool to upload iOS apps to App Store Connect.
- Rollout.io - SDK to patch, fix bugs, modify and manipulate native apps (Obj-c & Swift) in real-time.
- Crashlytics - A crash reporting and beta testing service.
- Screenplay - Instant rollbacks and canary deployments for iOS.
- Rollout.io - SDK to patch, fix bugs, modify and manipulate native apps (Obj-c & Swift) in real-time.
- ScreenshotFramer - With Screenshot Framer you can easily create nice-looking and localized App Store Images.
- Rollout.io - SDK to patch, fix bugs, modify and manipulate native apps (Obj-c & Swift) in real-time.
-
Web View
- buddybuild - A mobile iteration platform - build, deploy, and collaborate.
- Crashlytics - A crash reporting and beta testing service.
- AppCenter - Continuously build, test, release, and monitor apps for every platform.
- Rollout.io - SDK to patch, fix bugs, modify and manipulate native apps (Obj-c & Swift) in real-time.
- ScreenshotFramer - With Screenshot Framer you can easily create nice-looking and localized App Store Images.
- Appcircle.io
- Screenplay - Instant rollbacks and canary deployments for iOS.
- Codemagic - Build, test and deliver iOS apps 20% faster with Codemagic CI/CD.
- Runway - Easier mobile releases for teams. Integrates across tools (version control, project management, CI, app stores, crash reporting, etc.) to provide a single source of truth for mobile teams to come together around during release cycles. Equal parts automation and collaboration.
- Rollout.io - SDK to patch, fix bugs, modify and manipulate native apps (Obj-c & Swift) in real-time.
-
-
EventBus
-
Getting Started
- SwiftEventBus - A publish/subscribe event bus optimized for iOS.
- PromiseKit - Promises for iOS and macOS.
- Bolts - Bolts is a collection of low-level libraries designed to make developing mobile apps easier, including tasks (promises) and app links (deep links).
- SwiftTask - Promise + progress + pause + cancel + retry for Swift.
- When - A lightweight implementation of Promises in Swift.
- then🎬 - Elegant Async code in Swift.
- Bolts-Swift - Bolts is a collection of low-level libraries designed to make developing mobile apps easier.
- RWPromiseKit - A light-weighted Promise library for Objective-C.
- FutureLib - FutureLib is a pure Swift 2 library implementing Futures & Promises inspired by Scala.
- SwiftNotificationCenter - A Protocol-Oriented NotificationCenter which is type safe, thread safe and with memory safety.
- FutureKit - A Swift based Future/Promises Library for iOS and macOS.
- signals-ios - Typeful eventing.
- BrightFutures - Write great asynchronous code in Swift using futures and promises.
- NoticeObserveKit - NoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type.
- Hydra - Promises & Await - Write better async code in Swift.
- Promis - The easiest Future and Promises framework in Swift. No magic. No boilerplate.
- Bluebird.swift - Promise/A+, Bluebird inspired, implementation in Swift 4.
- Promise - A Promise library for Swift, based partially on Javascript's A+ spec.
- promises - Google provides a synchronization construct for Objective-C and Swift to facilitate writing asynchronous code.
- Continuum - NotificationCenter based Lightweight UI / AnyObject binder.
- Futures - Lightweight promises for iOS, macOS, tvOS, watchOS, and server-side Swift.
- EasyFutures - 🔗 Swift Futures & Promises. Easy to use. Highly combinable.
- TopicEventBus - Publish–subscribe design pattern implementation framework, with ability to publish events by topic. (NotificationCenter extended alternative).
-
-
Files
-
Getting Started
- FileKit - Simple and expressive file management in Swift.
- Zip - Swift framework for zipping and unzipping files.
- FileBrowser - Powerful Swift file browser for iOS.
- Ares - Zero-setup P2P file transfer between Macs and iOS devices.
- FileProvider - FileManager replacement for Local, iCloud and Remote (WebDAV/FTP/Dropbox/OneDrive/SMB2) files on iOS/tvOS and macOS.
- KZFileWatchers - A micro-framework for observing file changes, both local and remote. Helpful in building developer tools.
- ZipArchive - ZipArchive is a simple utility class for zipping and unzipping files on iOS and Mac.
- FileExplorer - Powerful file browser for iOS that allows its users to choose and remove files and/or directories.
- ZIPFoundation - Effortless ZIP Handling in Swift.
- AppFolder - AppFolder is a lightweight framework that lets you design a friendly, strongly-typed representation of a directories inside your app's container.
- ZipZap - zip file I/O library for iOS, macOS and tvOS.
- AMSMB2 - Swift framework to connect SMB 2/3 shares for iOS.
-
-
Functional Programming
-
Getting Started
- Forbind - Functional chaining and promises in Swift.
- Funky - Functional programming tools and experiments in Swift.
- LlamaKit - Collection of must-have functional Swift tools.
- Oriole - A functional utility belt implemented as Swift protocol extensions.
- Prelude - Swift µframework of simple functional programming tools.
- Swiftx - Functional data types and functions for any project.
- Swiftz - Functional programming in Swift.
- OptionalExtensions - Swift µframework with extensions for the Optional Type.
- Argo - Functional JSON parsing library for Swift.
- Runes - Infix operators for monadic functions in Swift.
- Bow - Typed Functional Programming companion library for Swift.
-
-
Games
-
Getting Started
- AssetImportKit - Swifty cross platform library (macOS, iOS) that converts Assimp supported models to SceneKit scenes.
- CollectionNode - A swift framework for a collectionView in SpriteKit.
- glide engine - SpriteKit and GameplayKit based engine for making 2d games, with practical examples and tutorials.
- Lichess mobile - A mobile client for lichess.org.
- Sage - A cross-platform chess library for Swift.
- ShogibanKit - ShogibanKit is a framework for implementing complex Japanese Chess (Shogii) in Swift. No UI, nor AI.
- SKTiled - Swift framework for working with Tiled assets in SpriteKit.
- SwiftFortuneWheel - A cross-platform framework for games like a Wheel of Fortune.
- AssetImportKit - Swifty cross platform library (macOS, iOS) that converts Assimp supported models to SceneKit scenes.
-
-
GCD
-
Getting Started
- GCDKit - Grand Central Dispatch simplified with Swift.
- Async - Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch.
- SwiftSafe - Thread synchronization made easy.
- YYDispatchQueuePool - iOS utility class to manage global dispatch queue.
- AlecrimAsyncKit - Bringing async and await to Swift world with some flavouring.
- GrandSugarDispatch - Syntactic sugar for Grand Central Dispatch (GCD).
- Threader - Pretty GCD calls and easier code execution.
- Dispatch - Just a tiny library to make using GCD easier and intuitive.
- GCDTimer - Well tested Grand Central Dispatch (GCD) Timer in Swift.
- Chronos-Swift - Grand Central Dispatch Utilities.
- Me - A super slim solution to the nested asynchronous computations.
- SwiftyTask - An extreme queuing system with high performance for managing all task in app with closure.
-
-
Gesture
-
Getting Started
- Tactile - A better way to handle gestures on iOS.
- SwiftyGestureRecognition - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds.
- DBPathRecognizer - Gesture recognizer tool.
- Sensitive - Special way to work with gestures in iOS.
- SplitViewDragAndDrop - Easily add drag and drop to pass data between your apps in split view mode.
- FDFullscreenPopGesture - An UINavigationController's category to enable fullscreen pop gesture in an iOS7+ system style with AOP.
-
-
Good Websites
-
Forums and discuss lists
-
Medium
- iOS App Development - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone.
- Swift Programming - The Swift Programming Language.
-
News, Blogs and more
-
Newsletters
- raywenderlich.com Weekly - sign up to receive the latest tutorials from raywenderlich.com each week.
- iOS Dev Tools Weekly - The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services.
- iOS Trivia Weekly - Three challenging questions about iOS development every Wednesday.
- iOS Cookies Newsletter - A weekly digest of new iOS libraries written in Swift.
- Mobile Developers Cafe - A weekly newsletter for Mobile developers with loads of iOS content.
-
Prototyping
-
Tutorials and Keynotes
- Cocoa with Love
- Brian Advent youtube channel - Swift tutorials Youtube Channel.
- raywenderlich.com - Tutorials for developers and gamers.
- Tuts+
- SwiftUI Tutorials - Learn SwiftUI & Swift for FREE.
- Hacking With Swift - Learn to code iPhone and iPad apps with 3 Swift tutorials.
- LearnAppMaking - LearnAppMaking helps app developers to build, launch and market iOS apps.
- Learn Swift - Learn Swift - curated list of the top online Swift tutorials and courses.
-
UIKit references
-
-
Graphics
-
Getting Started
- Graphicz - Light-weight, operator-overloading-free complements to CoreGraphics!
- PKCoreTechniques - The code for my CoreGraphics+CoreAnimation talk, held during the 2012 iOS Game Design Seminar at the Technical University Munich.
- MPWDrawingContext - An Objective-C wrapper for CoreGraphics CGContext.
- DePict - A simple, declarative, functional drawing framework, in Swift!
- SwiftSVG - A single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView).
- InkKit - Write-Once, Draw-Everywhere for iOS and macOS.
- YYAsyncLayer - iOS utility classes for asynchronous rendering and display.
- NXDrawKit - NXDrawKit is a simple and easy but useful drawing kit for iPhone.
- jot - An iOS framework for easily adding drawings and text to images.
- SVGKit - Display and interact with SVG Images on iOS / macOS, using native rendering (CoreAnimation) (currently only supported for iOS - macOS code needs updating).
- Snowflake - SVG in Swift.
- HxSTLParser - Basic STL loader for SceneKit.
- ProcessingKit - Visual designing library for iOS & OSX.
- EZYGradientView - Create gradients and blur gradients without a single line of code.
- AEConicalGradient - Conical (angular) gradient layer written in Swift.
- MKGradientView - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift.
- EPShapes - Design shapes in Interface Builder.
- Macaw - Powerful and easy-to-use vector graphics library with SVG support written in Swift.
- BlockiesSwift - Unique blocky identicons/profile picture generator.
- Rough - lets you draw in a sketchy, hand-drawn-like, style.
- GraphLayout - UI controls for graph visualization. It is powered by Graphviz.
- Drawsana - iOS framework for building raster drawing and image markup views.
- AnimatedGradientView - A simple framework to add animated gradients to your iOS app.
-
-
Hardware
-
Bluetooth
- Discovery - A very simple library to discover and retrieve data from nearby devices (even if the peer app works at background).
- LGBluetooth - Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code.
- PeerKit - source Swift framework for building event-driven, zero-config Multipeer Connectivity apps.
- BluetoothKit - Easily communicate between iOS/macOS devices using BLE.
- BlueCap - iOS Bluetooth LE framework.
- Apple Family - Quickly connect Apple devices together with Bluetooth, wifi, and USB.
- Bleu - BLE (Bluetooth LE) for U.
- Bluejay - A simple Swift framework for building reliable Bluetooth LE apps.
- BabyBluetooth - The easiest way to use Bluetooth (BLE) in iOS/MacOS.
- ExtendaBLE - Simple Blocks-Based BLE Client for iOS/tvOS/watchOS/OSX/Android. Quickly configuration for centrals/peripherals, perform packet based read/write operations, and callbacks for characteristic updates.
- PeerConnectivity - Functional wrapper for Apple's MultipeerConnectivity framework.
- AZPeerToPeerConnection - AZPeerToPeerConnectivity is a wrapper on top of Apple iOS Multipeer Connectivity framework. It provides an easier way to create and manage sessions. Easy to integrate.
- MultiPeer - Multipeer is a wrapper for Apple's MultipeerConnectivity framework for offline data transmission between Apple devices. It makes easy to automatically connect to multiple nearby devices and share information using either bluetooth or wifi.
- BerkananSDK - Mesh messaging SDK with the goal to create a decentralized mesh network for the people, powered by their device's Bluetooth antenna.
- Bluetonium - Bluetooth mapping in Swift.
-
Camera
- PBJVision - iOS camera engine, features touch-to-record video, slow motion video, and photo capture.
- Cool-iOS-Camera - A fully customisable and modern camera implementation for iOS made with AVFoundation.
- SCRecorder - Camera engine with Vine-like tap to record, animatable filters, slow motion, segments editing.
- ALCameraViewController - A camera view controller with custom image picker and image cropping. Written in Swift.
-
Programming Languages
Categories
UI
887
Media
191
Parsing
92
Tools
91
Text
88
Networking
80
Hardware
78
Utility
75
SDK
65
Testing
59
Notifications
57
Layout
56
Reactive Programming
55
Database
55
Security
48
Code Quality
34
Xcode
34
Logging
33
Walkthrough / Intro / Tutorial
32
Tutorials and Keynotes
29
Data Structures / Algorithms
29
Deployment / Distribution
28
Charts
28
Debugging
28
Other Awesome Lists
28
Server
27
Payments
25
Graphics
23
Websites
23
EventBus
23
Date & Time
23
App Routing
22
Analytics
21
Good Websites
21
Core Data
20
Command Line
19
Color
18
Localization
18
Cache
16
Concurrency
16
Podcasts
16
Dependency Injection
16
Messaging
14
Math
14
Machine Learning
14
Books
14
Style Guides
13
Project setup
12
Architecture Patterns
12
GCD
12
Files
12
Maps
11
Functional Programming
11
Newsletters
11
Courses
10
Dependency / Package Manager
10
Apple TV
10
WebSocket
10
Games
9
Permissions
9
App Store
8
ARKit
7
Authentication
7
Reference
7
Blockchain
6
Reflection
6
Rapid Development
6
Regex
6
Gesture
6
VR
5
Representations
4
Passbook
4
Code Injection
4
Social Media
4
Optimization
2
User Consent
2
Objective-C Runtime
2
Alexa
1
Bridging
1
Accessibility
1
Sub Categories
Web View
288
Getting Started
284
Other Hardware
161
Video
126
Font
112
Table View / Collection View
103
Image
103
Other Testing
94
Linter
80
Animation
79
Other Parsing
75
Alert & Action Sheet
74
Push Notification Providers
70
Activity Indicator
64
JSON
64
Menu
62
Unofficial
54
Prototyping
54
TextField & TextView
51
Keychain
48
Button
33
Transition
33
Audio
30
Tab Bar
29
Camera
28
Official
28
React-Like
25
Label
24
Calendar
23
Pull to Refresh
23
Slider
22
Encryption
22
UI Testing
19
Popup
19
Medium
19
Keyboard
17
Form & Settings
16
Other Xcode
16
Bluetooth
15
PickerView
15
Cards
14
Extensions
14
GIF
12
TDD / BDD
12
Segmented Control
12
XML & HTML
12
PDF
11
ScrollView
11
Location
10
Tag
10
Switch
10
Navigation Bar
9
Rating Stars
8
Tutorials and Keynotes
8
Push Notifications
8
iBeacon
7
Stepper
7
Themes
6
Streaming
6
Email
6
Media Processing
6
Newsletters
5
UIPageControl
5
Badge
4
Twitter
4
A/B Testing
4
Splash View
3
Login
3
Force Touch
3
UI Templates
3
CSV
3
ProgressView
3
UIKit references
2
News, Blogs and more
2
Forums and discuss lists
1
Status Bar
1
Local Notifications
1
Keywords
swift
1,018
ios
785
cocoapods
287
carthage
191
macos
144
objective-c
134
xcode
126
animation
123
tvos
106
ui
80
uikit
73
watchos
69
swift4
61
swift-library
59
swift-package-manager
55
ios-swift
51
swiftui
44
library
44
swift-3
43
uicollectionview
41
swift5
41
apple
35
swift-framework
34
uitableview
33
json
31
swift3
31
ui-components
28
ios-ui
28
rxswift
28
networking
27
image
27
alamofire
25
alert
24
framework
24
database
24
video
23
ios-animation
23
storyboard
23
popup
22
menu
21
layout
21
autolayout
20
linux
20
server-side-swift
19
transition
19
awesome
18
osx
18
iphone
18
calendar
17
collectionview
17