Top Related Projects
A curated list of awesome iOS ecosystem, including Objective-C and Swift Projects
A curated list of awesome Swift frameworks, libraries and software.
:iphone: Collaborative List of Open-Source iOS Apps
Good ideas for iOS development, by Futurice developers.
A curated list of awesome ARKit projects and resources. Feel free to contribute!
Quick Overview
Awesome-iOS is a curated list of awesome iOS frameworks, libraries, tutorials, Xcode extensions and plugins, components, and more. It serves as a comprehensive resource for iOS developers, providing a wide range of tools and resources to enhance their development process and create better iOS applications.
Pros
- Extensive collection of iOS development resources in one place
- Regularly updated with new and relevant content
- Well-organized into categories for easy navigation
- Community-driven with contributions from various developers
Cons
- Can be overwhelming due to the sheer amount of information
- Some listed resources may become outdated or deprecated over time
- Quality of individual resources may vary
- Requires manual exploration to find the most suitable tools for specific needs
Code Examples
As this is not a code library but a curated list of resources, there are no specific code examples to provide.
Getting Started
As this is not a code library, there are no specific getting started instructions. However, to make the most of the Awesome-iOS repository:
- Visit the GitHub repository: https://github.com/vsouza/awesome-ios
- Browse through the categories that interest you
- Star the repository to easily find it later
- Consider contributing by submitting pull requests for new resources or updates
Competitor Comparisons
A curated list of awesome iOS ecosystem, including Objective-C and Swift Projects
Pros of awesome-ios (vsouza)
- Larger community and more contributors, resulting in more frequent updates
- More comprehensive and extensive list of resources
- Better organized with clear categories and subcategories
Cons of awesome-ios (vsouza)
- Can be overwhelming due to the sheer volume of resources
- May include some outdated or less relevant items due to its size
- Slightly less focus on UI/UX specific resources
Code comparison
While both repositories are primarily curated lists and don't contain much code, here's a comparison of their README structures:
awesome-ios (vsouza):
## Content
- [Courses](#courses)
- [Accessibility](#accessibility)
- [Analytics](#analytics)
...
awesome-ios (ivanvorobei):
## Content
* [Animation](#animation)
* [Application](#application)
* [Authentication](#authentication)
...
Both repositories use similar Markdown structures for organizing content, with vsouza's version having slightly more detailed categorization.
Summary
Both awesome-ios repositories are valuable resources for iOS developers. The vsouza version offers a more extensive list with broader coverage, while the ivanvorobei version provides a more curated and focused selection. Developers may prefer one over the other based on their specific needs and preferences for resource discovery.
A curated list of awesome Swift frameworks, libraries and software.
Pros of awesome-swift
- More focused on Swift-specific resources and libraries
- Includes sections on Swift-specific topics like Swift Package Manager and Swift for TensorFlow
- Regularly updated with new Swift-related content
Cons of awesome-swift
- Less comprehensive coverage of iOS development topics outside of Swift
- Fewer categories and subcategories compared to awesome-ios
- May not include as many resources for Objective-C developers
Code comparison
While both repositories are curated lists and don't contain actual code samples, they differ in their organization and content focus. Here's a comparison of how they structure their lists:
awesome-swift:
## Contents
- [Demo Apps](#demo-apps)
- [Dependency Managers](#dependency-managers)
- [Guides](#guides)
- [Editor Support](#editor-support)
awesome-ios:
## Content
- [Analytics](#analytics)
- [App Routing](#app-routing)
- [Apple TV](#apple-tv)
- [Architecture Patterns](#architecture-patterns)
Both repositories serve as valuable resources for iOS developers, with awesome-ios offering a broader scope of iOS development topics, while awesome-swift focuses more specifically on Swift-related resources and libraries.
:iphone: Collaborative List of Open-Source iOS Apps
Pros of open-source-ios-apps
- Focuses specifically on open-source iOS applications, providing a curated list of complete projects
- Organizes apps by category, making it easier to find relevant examples
- Includes information about App Store availability and Swift/Objective-C language use
Cons of open-source-ios-apps
- Limited to full applications, excluding individual libraries or components
- May not be as frequently updated as awesome-ios
- Less comprehensive in terms of iOS development resources beyond complete apps
Code Comparison
While both repositories primarily consist of lists and don't contain much code, here's a brief comparison of their README structures:
open-source-ios-apps:
## Contents
* [Apple TV](#apple-tv)
* [Apple Watch](#apple-watch)
* [Browser](#browser)
* [Calculator](#calculator)
awesome-ios:
## Content
- [Accessibility](#accessibility)
- [Analytics](#analytics)
- [App Routing](#app-routing)
- [Apple TV](#apple-tv)
Both repositories use similar Markdown structures for organizing content, but awesome-ios covers a broader range of topics related to iOS development, while open-source-ios-apps focuses specifically on categorizing complete open-source applications.
Good ideas for iOS development, by Futurice developers.
Pros of ios-good-practices
- Focused on best practices and coding standards
- Provides in-depth explanations and rationales for recommendations
- Includes sections on project structure and architecture
Cons of ios-good-practices
- Less comprehensive in terms of resource listings
- Not updated as frequently as awesome-ios
- Lacks categorization of tools and libraries
Code Comparison
ios-good-practices example (Objective-C):
@interface NYTArticle : NSObject
@property (nonatomic, copy) NSString *headline;
@property (nonatomic, copy) NSString *summary;
@property (nonatomic, strong) NSDate *datePublished;
@end
awesome-ios doesn't provide code examples directly, but rather links to resources. Here's a sample from one of its linked projects:
let alert = SCLAlertView()
alert.addButton("First Button", action: {
print("First button tapped")
})
alert.showSuccess("Button View", subTitle: "This alert view has buttons")
Summary
ios-good-practices offers a more focused approach to iOS development best practices, providing detailed explanations and architectural guidance. However, it lacks the extensive resource listings and frequent updates found in awesome-ios. The latter serves as a comprehensive collection of iOS development tools, libraries, and resources, making it more suitable for developers looking for a wide range of options. Choose ios-good-practices for in-depth best practices or awesome-ios for a broader overview of available resources.
A curated list of awesome ARKit projects and resources. Feel free to contribute!
Pros of Awesome-ARKit
- Focused specifically on ARKit resources, providing a curated list for AR developers
- Includes categories like tutorials, projects, and companies using ARKit
- Regularly updated with new ARKit-related content
Cons of Awesome-ARKit
- Limited scope compared to awesome-ios, which covers a broader range of iOS development topics
- Fewer contributors and stars, potentially indicating a smaller community
- May not be as comprehensive for general iOS development resources
Code Comparison
While both repositories are primarily curated lists, they don't contain significant code samples. However, here's an example of how they might differ in structure:
Awesome-ARKit:
## Courses
* [Creating Augmented Reality Apps Using ARKit](https://code.tutsplus.com/courses/creating-augmented-reality-apps-using-arkit)
* [ARKit by Example](https://blog.markdaws.net/apple-arkit-by-example-ef1c8578fb59)
awesome-ios:
## Getting Started
* [Start Developing iOS Apps (Swift)](https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/)
* [Lifehacker](https://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175)
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Navigate
- Activity Indicator
- Action Sheet
- Alert
- Animation
- Calendar
- Cards
- Control
- Collection View
- Controller
- Label
- Menu
- Progress Indicator
- Tab Bar
- Table View
Content
Activity Indicator
- NVActivityIndicatorView - Collection of nice loading animations. â¢
- LoaderUI - Collection of nice loading animations, implemented in SwiftUI. â¢
- SwiftSpinner - A beautiful activity indicator and modal alert written in Swift (originally developed for my app DoodleDoodle) Using blur effects, translucency, flat and bold design - all iOS 8 latest and greatest. â¢
- GradientLoadingBar - A customizable animated gradient loading bar. â¢
- LiquidLoader - Spinner loader components with liquid animation. â¢
- ParticlesLoadingView - A customizable SpriteKit particles animation on the border of a view. â¢
- DSGradientProgressView - Simple and customizable animated progress bar written in Swift. â¢
Skeleton
- SkeletonView - An elegant way to show users that something is happening and also prepare them to which contents they are awaiting. â¢
- LoadingShimmer - An easy way to add a shimmering effect to any view with just one line of code. It is useful as an unobtrusive loading indicator â¢
Action Sheet
- PopMenu - A fully customizable popup style menu for iOS. â¢
- SPPermissions - Ask permissions on Swift. Available List, Dialog & Native interface. Can check state permission. â¢
- BulletinBoard - BulletinBoard is an iOS library that generates and manages contextual cards displayed at the bottom of the screen. It is especially well suited for quick user interactions such as onboarding screens or configuration. â¢
- alerts-and-pickers - Advanced usage of
UIAlertController
and pickers based on it: Telegram, Contacts, Location, PhotoLibrary, Country, Phone Code, Currency, Date. ⢠- CFAlertViewController - It is a highly configurable iOS library which allows easy styling with built in styles as well as extra header and footer views so that you can make extremely unique alerts and action sheets. â¢
- Hokusai - A Swift library to provide a bouncy action sheet. â¢
- TKSwarmAlert - Animated alert library like Swarm app. â¢
- DOAlertController - Simple Alert View written in Swift, which can be used as a
UIAlertController
. â¢
Alert
- JDStatusBarNotification - Highly customizable & feature rich notifications displayed below the status bar. iOS 13+. Swift ready!
- SPAlert - Native alert from Apple Music & Feedback. Contains Done, Heart & Message and other presets. Support SwiftUI. â¢
- SPIndicator - Floating indicator, mimicrate to indicator which appear when silent mode turn on / off. Support large texts. â¢
- SCLAlertView-Swift - Animated Alert View written in Swift, which can be used as a
UIAlertView
orUIAlertController
replacement. ⢠- Loaf - A Swifty Framework for Easy iOS Toasts. â¢
- PMAlertController - Great and customizable alert that can substitute
UIAlertController
. ⢠- Dodo - A message bar for iOS written in Swift. â¢
- SwiftMessages - A very flexible message bar for iOS written in Swift. â¢
- NotificationBanner - The easiest way to display highly customizable in app notification banners in iOS. â¢
- SwiftEntryKit - SwiftEntryKit is a presentation library for iOS. It can be used to easily display overlays within your iOS apps. â¢
- DOAlertController - Simple Alert View written in Swift, which can be used as a
UIAlertController
. ⢠- CFAlertViewController - It is a highly configurable iOS library which allows easy styling with built in styles as well as extra header and footer views so that you can make extremely unique alerts and action sheets. â¢
- Loafjet - Loafjet is a lightweight custom framework used to add Loafs, Dash Board, Popup Card, and Loading indicator in your Swift project. â¢
Animation
- Lottie - Lottie is a mobile library for Android and iOS that natively renders vector based animations and art in realtime with minimal code. â¢
- TweenKit - Animation library for iOS in Swift. â¢
- Ease - Ease is an event driven animation system that combines the observer pattern with custom spring animations as observers. â¢
- fluid-interfaces - Natural gestures and animations inspired by Apple's WWDC18 talk "Designing Fluid Interfaces". â¢
- JDFlipNumberView - Animated analog flip numbers like airport/train-station displays (Swift/SwiftUI ready)
Effects
- SAConfettiView - Confetti â¢
- SPPerspective - Animatable widgets from iOS 14. Same animation for transform and shadow. Customisable duration, perspective and shadow also. â¢
- MPParallaxView - Apple TV Parallax effect in Swift. Rotate view using touch or accelerometer. â¢
- SPConfetti - Show the confetti only when the user is having fun, and if not having fun, don't show it. â¢
- ConfettiKit - A custom framework to add Confetti on iOS/iPadOS projects. â¢
Transition
- Material - Material's animation. â¢
- IBAnimatable - Design and prototype customized UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable. â¢
- ViewAnimator - ViewAnimator brings your UI to life with just one line. â¢
- CKWaveCollectionViewTransition - Cool wave like transition between two or more
UICollectionView
. ⢠- SPStorkController - Now playing controller from Apple Music, Mail & Podcasts Apple's apps. â¢
- Hero - Elegant transition library for iOS & tvOS. â¢
- Motion - Seamless animations and transitions â¢
- Transition - Easy interactive interruptible custom ViewController transitions. â¢
- StarWars.iOS - This component implements transition animation to crumble view-controller into tiny pieces. â¢
- BubbleTransition - A custom modal transition that presents and dismiss a controller with an expanding bubble effect. â¢
- ElasticTransition - A
UIKit
custom transition that simulates an elastic drag. Written in Swift. ⢠- SPLarkController - Custom transition between controllers. Settings controller for your iOS app. â¢
- JTMaterialTransition - An iOS transition for controllers based on material design. â¢
- FloatingPanel - A clean and easy-to-use floating panel UI component for iOS. â¢
- liquid-swipe - Transition simulates liquid when swipe to the side. â¢
- DropdownTransition - Simple and elegant dropdown transition for iOS. â¢
Calendar
- CalendarKit - Swift calendar UI library for iOS, iPadOS and Mac Catalyst. It looks similar to the Apple Calendar app out-of-the-box, while allowing customization when needed. â¢
- JTAppleCalendar - The Unofficial Apple iOS Swift Calendar View. Swift calendar Library. iOS calendar Control. 100% Customizable. â¢
- DateTimePicker - A nicer iOS UI component for picking date and time. â¢
- CVCalendar - A custom visual calendar for iOS 8+ written in Swift. â¢
Cards
- Cards - Awesome iOS 11 appstore cards in swift 5. â¢
- Koloda - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. â¢
- TisprCardStack - Swipe able, customizable card stack view, Tinder like card stack view based on UICollectionView. Cards UI. â¢
- CardParts - A reactive, card-based UI framework built on
UIKit
for iOS developers. ⢠- folding-cell - Expanding content cell with animation inspired by folding paper card material design. â¢
- cardslider - Cardslider is a design UI controller that allows you to swipe through cards with pictures and accompanying descriptions. â¢
- expanding-collection - ExpandingCollection is an animated material design UI card peek/pop controller. â¢
- VerticalCardSwiper - A marriage between the Shazam Discover UI and Tinder, built with
UICollectionView
in Swift. â¢
Button
- DOFavoriteButton - Cute Animated Button written in Swift. It could be just right for favorite buttons. â¢
- TVButton - Recreating the cool parallax icons from Apple TV as iOS
UIButton
in Swift. ⢠- TransitionButton -
UIButton
sublass for loading and transition animation. ⢠- WCLShineButton - This is a UI lib for iOS. Effects like shining. â¢
- ButtonProgressBar-iOS - A small and flexible (well documented) UIButton subclass with animated loading progress, and completion animation. â¢
- LiquidFloatingActionButton - Material Design Floating Action Button in liquid state. â¢
- Loady - This is a small library to show loading and indicator in
UIButton
, with fully customizable styles. there are 6 different styles, you can set the colors from interface builder or programmatically. ⢠- CocoaButton - Interactive UIButton with loading capability. â¢
- QBIndicatorButton - Simple way to display activity indicator inside the button.
Segment Control
- TKRubberIndicator - A rubber animation page control. â¢
- PinterestSegment - A Pinterest-like segment control with masking animation. â¢
- TwicketSegmentedControl - Custom
UISegmentedControl
replacement for iOS, written in Swift. ⢠- SJFluidSegmentedControl - A segmented control with custom appearance and interactive animations. Written in Swift 3.0. â¢
- JXSegmentedView - A powerful and easy to use segmented view: segmentedcontrol, pagingview, pagerview, pagecontrol, categoryview. â¢
Slider
- HGCircularSlider - A custom reusable circular / progress slider control for iOS application. â¢
- AGCircularPicker - Helpful component for creating a controller aimed to manage any calculated parameter. â¢
- Fluid Slider - A slider widget with a popup bubble displaying the precise value selected. Swift UI library. â¢
- balloon-picker - Custom picker view with floating balloon animation. â¢
- GMStepper - A stepper with a sliding label in the middle. â¢
- GaugeSlider - Highly customizable GaugeSlider designed for a Smart Home app. Featured at Medium. â¢
- STDiscreteSlider - Slider which allows user to choose value only from predefined set of data. â¢
Switch
- TKSwitcherCollection - An animation switch collection. â¢
- RAMPaperSwitch - Swift material design UI module which paints over the parent view when the switch is turned on. iOS library. â¢
- AIFlatSwitch - Nicely animated flat design switch alternative to
UISwitch
. ⢠- MJMaterialSwitch - A Customizable Switch UI for iOS, Inspired from Google's Material Design in Swift. â¢
Text Field
- Reel Search - UI controller that allows you to choose options from a list. Swift UI library. â¢
- SkyFloatingLabelTextField - A beautiful and flexible text field control implementation of Float Label Pattern. Written in Swift.
- TextFieldEffects - Custom
UITextFields
effects inspired by Codrops, built using Swift. ⢠- SearchTextField -
UITextField
subclass with autocompletion suggestions list. ⢠- AnimatedTextInput - Animated
UITextField
and UITextView replacement for iOS. ⢠- CocoaTextField - Apple
UITextField
created according to the Material.IO guidelines of 2019. Featured at Medium. â¢
Text View
- RSKGrowingTextView - A light-weight
UITextView
subclass that automatically grows and shrinks. ⢠- SelectableTextView - A text view that supports selection and expansion. â¢
- STTextView - Light-weight library that adds a placeholder to the
UITextView
. â¢
Collection View
- expanding-collection - ExpandingCollection is an animated material design UI card peek/pop controller. iOS library. â¢
- gliding-collection - Gliding Collection is a smooth, flowing, customizable decision for a UICollectionView Swift Controller. iOS library. â¢
- cardslider - Cardslider is a design UI controller that allows you to swipe through cards with pictures and accompanying descriptions. â¢
Layout
- AnimatedCollectionViewLayout - A
UICollectionViewLayout
subclass that adds custom transitions/animations to theUICollectionView
without effecting your existing code. ⢠- CollectionViewSlantedLayout - A CollectionView Layout displaying a slanted cells. â¢
- BouncyLayout - BouncyLayout is a collection view layout that makes your cells bounce â¢
- SFFocusViewLayout -
UICollectionViewLayout
with focused content. ⢠- CarLensCollectionViewLayout - An easy-to-use Collection View Layout for card-like animation. â¢
- IBPCollectionViewCompositionalLayout - Backport of
UICollectionViewCompositionalLayout
to earlier iOS 12. â¢
Controller
- liquid-swipe - Transition simulates liquid when swipe to the side â¢
- FloatingPanel - A clean and easy-to-use floating panel UI component for iOS. â¢
- SPLarkController - Settings screen with buttons and switches â¢
- SPPermissions - Ask permissions on Swift. Available List, Dialog & Native interface. Can check state permission. â¢
- SPStorkController - Now playing controller from Apple Music, Mail & Podcasts Apple's apps. â¢
- paper-onboarding - PaperOnboarding is a material design UI slider. Swift UI library. â¢
- preview-transition - SPreviewTransition is a simple preview gallery UI controller with animated tranisitions. Swift UI library. â¢
- folding-cell - FoldingCell is an expanding content cell inspired by folding paper material â¢
Messages
- MessageKit - A community-driven replacement for
JSQMessagesViewController
. ⢠- MessageViewController - A SlackTextViewController replacement written in Swift for the iPhone X. â¢
- MessengerKit - A UI framework for building messenger interfaces on iOS. â¢
Label
- LTMorphingLabel - Graceful morphing effects for
UILabel
written in Swift. ⢠- GlitchLabel - Glitching
UILabel
for iOS. ⢠- CountdownLabel - Simple countdown
UILabel
with morphing animation, and some useful function. ⢠- MarqueeLabel - A drop-in replacement for
UILabel
, which automatically adds a scrolling marquee effect when the label's text does not fit inside the specified frame. ⢠- CoreML-in-ARKit - Simple project to detect objects and display 3D labels above them in AR. This serves as a basic Template for an ARKit project to use CoreML. â¢
- NumberMorphView - A label view for displaying numbers which can transition or animate using a technique called number tweening or number morphing. â¢
- ActiveLabel.swift -
UILabel
drop-in replacement supporting Hashtags.
Menu
- GuillotineMenu - Our Guillotine Menu Transitioning Animation implemented in Swift reminds a bit of a notorious killing machine â¢
- circle-menu - CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. Swift UI library. â¢
- AirBar -
UIScrollView
driven expandable menu. ⢠- SPLarkController - Custom transition between controllers. Settings controller for your iOS app. â¢
- PopMenu - A fully customizable popup style menu for iOS. â¢
- ContextMenu - An iOS context menu UI inspired by Things 3. â¢
- Menu - The iOS Menu. â¢
- Segmentio - Animated top/bottom segmented control written in Swift. â¢
- Persei - Animated top menu for
UITableView
,UICollectionView
,UIScrollView
written in Swift ⢠- BTNavigationDropdownMenu - The elegant yet functional dropdown menu, written in Swift, appears underneath the navigation bar to display a list of defined items when a user clicks on the navigation title. â¢
- FlowingMenu - Interactive view transition to display menus with flowing and bouncing effects in Swift. â¢
- fan-menu - Menu with a circular layout based on Macaw. â¢
- GooeyTabbar - A gooey effect tabbar. â¢
- SideMenu - Simple side/slide menu control for iOS, no code necessary! Lots of customization. Add it to your project in 5 minutes or less. â¢
Progress Indicator
- KDCircularProgress - A circular progress view with gradients written in Swift. â¢
- FillableLoaders - Completely customizable progress based loaders drawn using custom
CGPaths
written in Swift. ⢠- MKRingProgressView - Ring progress view similar to Activity app on Apple Watch. â¢
Tab Bar
- animated-tab-bar - RAMAnimatedTabBarController is a Swift UI module library for adding animation to iOS tabbar items and icons. iOS library. â¢
- CircleBar - A fun, easy-to-use tab bar navigation controller for iOS. â¢
- Segmentio - Animated top/bottom segmented control written in Swift. â¢
- adaptive-tab-bar - AdaptiveController is a 'Progressive Reduction' Swift UI module for adding custom states to Native or Custom iOS UI elements. Swift UI component. â¢
- ColorMatchTabs - This is a Review posting app that let user find interesting places near them. â¢
- XLPagerTabStrip - Android PagerTabStrip for iOS. â¢
- Tabman - A powerful paging view controller with interactive indicator bars. â¢
- SwipeableTabBarController -
UITabBarController
with swipe interaction between its tabs. â¢
Table View
- paper-onboarding - PaperOnboarding is a material design UI slider. Swift UI library. â¢
- folding-cell - FoldingCell is an expanding content cell inspired by folding paper material â¢
- MYTableViewIndex - A pixel perfect replacement for
UITableView
section index, written in Swift. ⢠- SwipeCellKit - Swipeable
UITableViewCell
andUICollectionViewCell
based on the stock Mail.app, implemented in Swift. ⢠- RHPreviewCell - I envied so much Spotify iOS app this great playlist preview cell, I decided to create my own one. Now you can give your users ability to quick check "what content is hidden under your UITableViewCell". Great think is that this Library not requires 3D Touch support from user device â¢
- HGPlaceholders - Nice library to show placeholders and Empty States for any
UITableView
orUICollectionView
in your project. â¢
Top Related Projects
A curated list of awesome iOS ecosystem, including Objective-C and Swift Projects
A curated list of awesome Swift frameworks, libraries and software.
:iphone: Collaborative List of Open-Source iOS Apps
Good ideas for iOS development, by Futurice developers.
A curated list of awesome ARKit projects and resources. Feel free to contribute!
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot